CNode

socket.io是否可以跨socket轉發消息?

Bbyvoid发布于14 年前最后回复14 年前7 回复6783 浏览0 收藏

例如兩個客戶端連接了socket.io服務器,一個的socket id是1111111111,另一個是222222222。我能否實現這樣的功能,當1111111111接受到'event1'消息時,向222222222發'event2'消息?簡而言之就是實現客戶端與客戶端的通信轉發。

查看回复

回复 (7)

B
byvoid#2·14 年前
引用 atian25pipe

具體如何?

W
willwen#3·14 年前

先把socket存起来,然后在event1的handle里emit就可以了

var sockets = {};
io.sockets.on('connection', function (socket) {
  var id = Math.random().toString(32).substr(2);
  socket.id = id;
  sockets[id] = socket;
  socket.on('event1', function (msg) {
    sockets['222222222'].emit('event2', msg);
  });
});
B
byvoid#5·14 年前

用redis實現了一個pub/sub通信,已經解決。

A
atian25#6·14 年前

pipe

参与回复
登录后即可参与回复。登录