Socket.IOのRoom

(2016/05/03〜2016/06/11)
  • clientのグループを作れる機能

  • 参考
  • Socket.IO — Rooms and Namespaces
  • 接続が来る

  • javascript
  • io.on("connection", (socket) => {
  • // ここで様々な処理
  • });
  • ioはSocketIOサーバーのインスタンス
  • socketはある1つのclientとのコネクション
  • 特定のclientだけに送信

  • 送信
  • javascript
  • socket.emit("foo", value);
  • 特定のclient以外の全員に送信
  • javascript
  • socket.broadcast.emit("foo", value);
  • room

  • roomに入れる
  • javascript
  • socket.join("自宅");
  • roomから退出する
  • javascript
  • socket.leave("自宅");
  • 切断時に自動的にleaveしてくれないので
  • 切断イベントでleaveさせる
  • javascript
  • socket.on("disconnect", () => {
  • socket.leave("自宅");
  • });
  • roomを使った送信

  • room全員に送信
  • javascript
  • io.to("自宅").emit("よし、みんな聞け", value)
  • 特定のclient以外のroom内全員に送信
  • javascript
  • socket.broadcast.to("自宅").emit("foo", value);