nodejsでsocket.ioのサンプルを作成
socket.io
nodejsのモジュールで双方向通信を可能とするモジュール。
WebScoketなどを用いてチャットなどを実行できる。
いままではhttp併用
だったけど、socket.ioのみのバージョンを用意できるようになったらしい
環境
nodejs v8系
※nodebrewなどを使用してバージョンを更新
実装
サーバ側
var io = require('socket.io').listen(3000); // 接続 io.sockets.on("connect", function(socket) { console.log("connected"); // 接続後にクライアントへ送信する socket.emit("message", "接続OKです。"); // 切断 socket.on("disconnect", function(data) { console.log(data); console.log("disconnected"); }); });
クライアント側
var client = require("socket.io-client"); var socket = client.connect("http://localhost:3000"); // 接続 socket.on("connect", function() { console.log("client connected"); }); // メッセージ受信 socket.on("message", function(data) { console.log("受信文字:" + data); }); // 3秒後に切断 setTimeout(function() { socket.disconnect(); }, 3000);
今回はここまで
所感
nodejs自体は嫌いではなかったけどなんとなるやる気が行いものでした。
socket.ioをやってみることの必要性が感じられたのでちょっとだけやっている状態。
最近ではスタンドアローンでのサーバークライアントの処理がかなり簡単にかけるようになったのでやっている。
クライアントから任意のタイミングで切断もできるようなので処理も任意に制御できそうかも…