トップページ > コンテンツ > プログラミング入門 > Ajax入門 > JavaScript入門 > HTML5 > websocket

WebSocketを使用した方法について、記載する。
socket.ioを使った方法等もメジャーっぽい。

/*クライアント側*/
var ws = new WebSocket("ws://ホスト名:ポート番号",['soap', 'xmpp']);
ws.onopen = function () { //接続が確立された時に呼び出される
   ws.send("クライアントからサーバへ送るメッセージ");
};
ws.onmessage = function (event) { //サーバからメッセージを受け取った時に呼び出される
   //event.dataを使った処理 //event.dataがserver側でsendされた値になっている。
};
ws.onerror = function (error) {
    console.log(error);
};
ws.onclose = function() {
};

/*サーバ側*/
/*----サーバ立ち上げ部分(*1)----*/
var ip = "ホスト名";
var port = ポート番号;
var http = require('http');
var server = http.createServer();

server.on("request", function (request, response) {
   response.writeHead(200, {'Content-Type': 'text/plain'});
   response.write('Hello World.\n');
   response.end();
});
server.listen(port,ip);

/*----webSocket部分----*/
var wsServer = require('websocket').server; //<=npm install websocketを実行しておく必要がある。
var url = require('url');
var webSocketServer = new wsServer({httpServer:server}); //上で立ち上げているサーバを指定
webSocketServer.on('request', function(request) {
    var websocket = request.accept(null, request.origin); //request.originには、サーバへのアクセス元のURLが入っている
    websocket.on('message', function(message) { //message.utf8Dataには、クライアントから送信されてきたメッセージが入っている
                                                //message.typeには、utf8やbinaryが入っている。
       websocket.send('サーバーからクライアントに送るメッセージ');
   });
   websocket.on('close', function (reasoncode,description) {
      console.log(reasoncode + ':' + description);
   });
});


最終更新:2018年11月18日 23:01