libwebsockets build

sudo aptitude install cmake
cd ~/works
git clone git://git.libwebsockets.org/libwebsockets
cd libwebsockets/
mkdir build
cd build
cmake ..
make -j8
# sudo make install

サンプルとして作成したサーバに libwebsocket-test-echo サンプルからアクセスする

server

  • rails 上に em-websocket を実装したcontrollerを用意する
    ※ rails に関しては、省略

Ubuntu 14.04 libwebsockets クライアントを試す

libwebsockets build

sudo aptitude install cmake
cd ~/works
git clone git://git.libwebsockets.org/libwebsockets
cd libwebsockets/
mkdir build
cd build
cmake ..
make -j8
# sudo make install

サンプルとして作成したサーバに libwebsocket-test-echo サンプルからアクセスする

server

  • rails 上に em-websocket を実装したcontrollerを用意する
    ※ rails に関しては、省略

gem settings

cd ~/works/test_rails
vim GemFile
----------------- 以下を追加
gem 'em-websocket'

gem install

bundle update

mod controller

  • 任意のcontrollerに以下を追加

      require "em-websocket"
      ~ 省略 ~
      connections = EM::Channel.new
      EM::WebSocket.start(host: "[server address]", port: 3001) do |ws_conn|
        ws_conn.onopen do
          puts "connected"
          # EventMachine#subscribeを用い、コネクションオブジェクトと処理を登録
          connections.subscribe{|message| ws_conn.send(message) }
        end
        ws_conn.onmessage do |message|
          # onopen内で登録した処理を呼び出し
          puts "received:" + message
          connections.push(message)
        end
      end
    

rails server 起動

bundle exec start server

libwebsocket client 起動

cd ~/works/libwebsockets/build/bin/
./libwebsockets-test-echo --client [server address] --port 3001 --r 500

gem settings

cd ~/works/test_rails
vim GemFile
----------------- 以下を追加
gem 'em-websocket'

gem install

bundle update

mod controller

  • 任意のcontrollerに以下を追加

      require "em-websocket"
      ~ 省略 ~
      connections = EM::Channel.new
      EM::WebSocket.start(host: "[server address]", port: 3001) do |ws_conn|
        ws_conn.onopen do
          puts "connected"
          # EventMachine#subscribeを用い、コネクションオブジェクトと処理を登録
          connections.subscribe{|message| ws_conn.send(message) }
        end
        ws_conn.onmessage do |message|
          # onopen内で登録した処理を呼び出し
          puts "received:" + message
          connections.push(message)
        end
      end
    

rails server 起動

bundle exec start server

libwebsocket client 起動

cd ~/works/libwebsockets/build/bin/
./libwebsockets-test-echo --client [server address] --port 3001 --r 500