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/pkgconfig
、npm install zmq
ソースは以下、
http://www.linuxinstruction.com/?q=node/12
- Make sure that /usr/local/bin is in your path, since there is where node lives.
- Create the following file: /etc/ld.so.conf.d/zmq.conf The contents of the above file is ‘/usr/local/lib’.
- Execute the command ’ldconfig'.
- export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig
- npm install zmq