Ubuntu14.04 Node.jsをインストール

install packages.

sudo apt-get install git curl build-essential libssl-dev

install nvm.

git clone https://github.com/creationix/nvm.git ~/.nvm
. ~/.nvm/nvm.sh
nvm install 0.10
    ######################################################################## 100.0%
    Now using node v0.10.31
nvm version
vi ~/.bashrc
    # 以下追加
    . ~/.nvm/nvm.sh
    nvm use v0.10.31
# defaultバージョンを指定
nvm alias default v0.10.31
# Node.jsはバージョン番号が偶数が安定バージョン、奇数は開発バージョン

hellow world 作成

cd 任意のディレクトリ
vim hellowworld.js
-------------------------------------
    var sys = require('sys');
    var http = require('http');
    var server = http.createServer(
            function (request, response) {
                response.writeHead(200, {'Content-Type': 'text/plain'});
                response.write('Hello World!!\n');
                response.end();
            }
        ).listen(8124);
    sys.log('Server running at http://127.0.0.1:8124/');

hellowworld起動

node hellowworls.js

browserから起動確認

http://127.0.0.1:8124/ へアクセス

Node.js socket.io

install socket.io

mkdir test_socketio_standalone && cd test_socketio_standalone
sudo npm install socket.io -g

create server js

vim socket.io.server.js
-----------------------------
// Server
var io = require('socket.io').listen(3000); // デフォルトポートは 80
var log = console.log;

io.sockets.on('connection', function (socket) {
  log('server connection called. scoket id=' + socket.id);
  socket.on('cchat', function (data) {
    socket.broadcast.emit('cchat', {msg: 'server echo:cchat!'});
    log(data);
    socket.broadcast.emit('cchat', {msg: 'server echo:' + data.msg});
    log("echo message sended.");
  });
});

create ruby client

install socket.io-client-simple

gem install socket.io-client-simple

create client ruby

vim socket.io.client.rb

require 'rubygems'
require 'socket.io-client-simple'

socket = SocketIO::Client::Simple.connect 'ws://localhost:3000'

socket.on :connect do  ## 接続イベント
  puts "connect!!!"
end

socket.on :disconnect do  ## 切断イベント
  puts "disconnected!!"
end

## サーバーからイベント"cchat"がemitされたら、このコールバックが呼ばれる
socket.on :cchat do |data|
  puts "> " + data['msg']
end

puts "please input and press Enter key"
loop do
  msg = STDIN.gets.strip
  next if msg.empty?

  ## サーバーにchatイベントを送る
  socket.emit :cchat, {:msg => msg, :at => Time.now}
end

create html client

<!DOCTYPE html>
<html>
  <head>
    <title>Standalone.sample</title>
    <script src="http://172.19.1.94:3000/socket.io/socket.io.js"></script>
    <script type="text/javascript">
       var socket = io.connect('ws://172.19.1.94:3000/');
       socket.on('cchat', function (data) {
         console.log(data);
//         socket.emit('cchat', data);
//         socket.emit('cchat', {msg:'wwww'});
       });
       socket.emit('cchat', {msg: 'browser echo:cchat!'});
    </script>
  </head>
  <body>
    <h1>Standalone Sample</h1>
    <p>Welcome to Standalone Sample</p>
  </body>
</html>

ZeroMQクライアントを作成

install

cd test_socketio_standalone
sudo npm install zmq -g

上記でダメな場合

cat ld.so.conf.d/libc.conf/usr/local/libが記載されているか確認
記載されていない場合は、vim /etc/ld.so.conf.d/zmq.conf
/usr/local/libのみ記載し、sudo ldconfigでシステムにshared libraryを
認識させる その後、export PKG_CONFIG_PATH=/usr/local/lib/pkgconfignpm install zmq
ソースは以下、 http://www.linuxinstruction.com/?q=node/12

  1. Make sure that /usr/local/bin is in your path, since there is where node lives.
  2. Create the following file: /etc/ld.so.conf.d/zmq.conf The contents of the above file is ‘/usr/local/lib’.
  3. Execute the command ’ldconfig'.
  4. export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig
  5. npm install zmq