我有简单的基于Socket.IO的聊天,当User1在“朋友列表”中点击User2时,User1将与User2连接到房间(基于来自服务器的“令牌”)。当两个人都打开“聊天窗口”(他们都在房间里)时,一切都没有问题。
但是当他关闭聊天窗口(他没有连接到房间)时,如何“ping”User2?
感谢您的帮助!
修改
Okey,现在是User1在房间里。但是User2不是,因为他没有打开窗口(但他是“在线”=连接到服务器io.connect(...))。
简化客户端JS:
socket = io.connect "...", {port: 1234}
token = ajaxRequestToServerForToken mineID, hisID
socket.emit "joinIntoRoom", token
简化的node.js代码:
//In handler class
joinIntoRoom: (socket, token) ->
socket.leave socket.room
socket.join token
socket.emit "connected"
答案 0 :(得分:0)
好的,您需要一种识别user2的方法,这样您就可以向他发送一个事件。
This question有类似的答案 - 它有帮助吗?
一旦你有了user2的套接字对象,你就可以调用
socket.emit('joinIntoRoom', {token: token, message: message})
第一条消息,然后客户端应该解释它。