WebSocketを利用する

Node.jsをインストールして、npmコマンドから "websocket" モジュールを同ディレクトリにインストールしてください。
その後、同ディレクトリの app.js を起動してこのページを表示すると、コンソールに双方向通信の内容が表示されます。

このページに埋め込まれているWebSocketクライアントコード

var ws = new WebSocket('ws://localhost:8080');
var timer;
ws.onopen = function() {
  console.log('connect');

  timer = setInterval(function() {
    ws.readyState === WebSocket.OPEN && ws.send('Client: Hello WebSocket!');
  }, 3000);
};

ws.onmessage = function(event) {
  console.log(event.data);
};

ws.onclose = function() {
  console.log('close');
  clearInterval(timer);
};

ws.onerror = function(error) {
  console.log(error);
};
  

サーバーコード(app.js)の内容

var http = require('http');
var WebSocketServer = require('websocket').server;

var server = http.createServer(function(req, res) {
  res.writeHead(404);
  res.end();
}).listen(8080, function() {
  console.log('Server listening on port 8080');
});

var wsServer = new WebSocketServer({
  httpServer: server,
  autoAcceptConnections: true
});

wsServer.on('connect', function(connection) {
  console.log('connect');

  connection.on('message', function(message) {
    console.log(message.utf8Data);
  });

  connection.on('close', function(reasonCode, description) {
    console.log('disconnect');
    clearInterval(connection.timer);
  });

  connection.on('error', function(error) {
    console.log(error);
  });

  connection.timer = setInterval(function() {
    connection.send('Server: Hello WebSocket!');
  }, 3000);
});