socket.io是否可以跨socket轉發消息?
发布于 8 年前 作者 byvoid 4722 次浏览 最后一次编辑是 4 年前

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

7 回复

奇怪. change log 里面提到 .client() 方法但首页 README 里没写… https://github.com/LearnBoost/Socket.IO/wiki/Migrating-0.6-to-0.7+

具體如何?

先把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);
  });
});

這樣開多線程後就不行了

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

回到顶部