我写的服务端关键代码如下:
...
var allChatter = {};
...
io.sockets.on('connection', function (socket) {
var session = socket.id;
// userList[session] = socket;
allChatter[session] = socket.id;
console.log(allChatter);
socket.emit('newMem',allChatter);
...
})
客户端关键代码如下:
var socket = io.connect();
socket.on('newMem',function(allChatter){
console.log("有新成员加入啦!");
})
目前的情况是,打开第一个窗口会接受到,浏览器输出内容,而第二个窗口打开后第一个窗口接收不到新成员加入的信息,也就是说都只能接受到自己加入的信息,看不到别人加入的信息.请问怎么解决这个问题呢?
要广播的话服务端要用
io.emit()
,在服务端,
socket
代表服务端跟某一个客户端的连接,socket.emit
只是服务端向某一个客户端发送信息ps: 感觉你要实现的功能,跟我前几周做过的一个小项目类似,可以参考一下,我在技术圈发的帖子 或者直接看代码>>