MrG*_*ass 3 html sockets node.js socket.io
我无法使用 socket.io 将基本客户端连接到客户端(或真正的客户端-> 服务器-> 客户端)。这是我现在拥有的代码:
io.sockets.on('connection', function (socket) {
users.push(socket.sessionId);
for(userID in users) {
console.log(userID);
io.sockets.socket(userID).emit('message', { msg: 'New User Connected succesfully' });
}
socket.emit('message', { msg: 'Connected succesfully' });
socket.on('my other event', function (data) {
console.log(data);
});
});
Run Code Online (Sandbox Code Playgroud)
根据我的理解,这应该将新用户消息发送给每个连接的用户(个人而言,因为我想稍后处理实际的个人消息)。相反,我只在最后收到“连接成功”消息。我的服务器或客户端没有收到任何错误或其他负面指示。
关于为什么io.sockets.socket(userID).emit()不起作用或在其位置使用什么的任何想法?
Socket.io 有房间的概念,一旦一个套接字加入一个房间,它就会收到发送到房间的所有消息,所以你不需要跟踪房间里的人,处理断开连接等......
在连接时,您将使用:
socket.join('room')
Run Code Online (Sandbox Code Playgroud)
并向该房间中的每个人发送消息:
io.sockets.in('room').emit('event_name', data)
Run Code Online (Sandbox Code Playgroud)
socket.io wiki 上的更多信息:https : //github.com/LearnBoost/socket.io/wiki/Rooms
| 归档时间: |
|
| 查看次数: |
6343 次 |
| 最近记录: |