facebook twitter hatena line email

Javascript/nodejs/socket.io/helloworld

提供: 初心者エンジニアの簡易メモ
移動: 案内検索

SocketIOインストール

npm install socket.io

サーバ側

  • app.js
var port = 8001;
var socketio = require('socket.io').listen(port);
// 接続イベント受信
socketio.on('connection', function(client) {
  console.log("user_id:" + client.id);
  // newsイベント発火
  client.emit('news', { hello: 'world' });
  // my otherイベント受信
  client.on('my other event', function(data) {
    console.log(data);
  });
});
console.log("port:" + port);

クライアント

  • public/js/client.js
<html>
<head>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/socket.io/2.0.4/socket.io.js"></script>
</head>
<body>
<script>
  // socket接続
  var socket = io.connect('http://localhost:8001');
  // 接続処理後
  socket.on('connect', function(msg) {
    console.log("user_id:" + socket.id);
  });
  // newsイベント受信
  socket.on('news', function(data) {
    console.log(data);
    // my otherイベント発火
    socket.emit('my other event', { my: 'data' });
  });
</script>
</body>
</html>

socket.io.jsのclient-jsコピー

cp /usr/local/src/node-v0.6.8/node_modules/socket.io/node_modules/socket.io-client/dist/socket.io.js javascript/socket.io.js

require.jsを使ったクライアントサンプル

  • main.js
require(['https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js', 'https://cdnjs.cloudflare.com/ajax/libs/socket.io/2.0.4/socket.io.js'], function() {
  var socket = io.connect('http://localhost:8001');
  socket.on('news', function (data) {
    console.log(data);
    socket.emit('my other event', { my: 'data' });
  });
});

socket.io日本語公式

http://jxck.github.com/socket.io/