socket.io サーバーを作成するには、socket.io を使用します。ただし、このサーバーは、すでに作成されている http サーバーに依存します。
http サーバーが実行されたら、listen メソッドを使用して、socket.io サーバーを http サーバーに接続します。
var sio=require("scoket.io");
varソケット=sio.listen(サーバー);
ソケットは、サーバーに基づいて作成されたsocket.ioサーバーです。
クライアントがサーバーとの接続を確立すると、socket.io サービスの接続イベントがトリガーされます。
socket.on("接続",function(ソケット){
});
コールバック関数のソケット パラメータは、サーバーとクライアント間の接続を確立するために使用されるソケット ポート オブジェクトです。
クライアントから送信されたメッセージを受信すると、ソケットポートオブジェクトのメッセージイベントが発行されます。
ソケット.on("メッセージ",function(msg){
});
コールバック関数のパラメータは、クライアントによって送信されたメッセージです。
socket.send(msg) を使用して、クライアントにメッセージを送信できます。
サーバーとクライアント間の接続が切断されると、切断イベントがトリガーされます。
socket.on("切断", funciton(){
});
このコールバック関数はパラメータを受け取りません。
サーバー側のserver.jsコード:
var http=require("http");
var sio=require("socket.io");
var fs=require("fs");
var server=http.createServer(function (req,res) {
res.writeHead(200,{"コンテンツタイプ":"text/html"});
res.end(fs.readFileSync("./index.html"));
});
サーバー.listen(1337);
varソケット=sio.listen(サーバー);
socket.on("接続", 関数 (ソケット) {
console.log("クライアントが接続を確立します");
socket.send("こんにちは");
ソケット.on("メッセージ", 関数 (msg) {
console.log("メッセージを受信しました:" msg);
});
socket.on("切断", function () {
console.log("クライアントが切断されました。");
});
});
クライアントのindex.htmlコードを作成します:
<スクリプト src="/socket.io/socket.io.js">
<スクリプト>
varソケット=io.connect();
socket.on("メッセージ", 関数 (データ) {
console.log(データ);
socket.send("メッセージを受信しました。")
});
ソケット.on("切断", function () {
console.log("サーバー側が切断されました。");
});