使用 Socket.io 和 nodejs 向用户发送更新
Posted
技术标签:
【中文标题】使用 Socket.io 和 nodejs 向用户发送更新【英文标题】:Send updates to a user using Socket.io and nodejs 【发布时间】:2016-12-12 09:28:11 【问题描述】:我正在使用 MEAN Stack(类似于 Facebook)构建一个应用程序。因此,用户可以使用不同的浏览器登录我的应用程序,例如,如果用户将向 MongoDB 添加新消息,我想在其他会话中更新他的消息。同样的他会删除一个按摩。同时,可能有不同的用户从不同的浏览器登录,我想通知用户他在其他会话中的更新。
Socket.io 是否支持这样的选项?最好的方法是什么?
谢谢。
【问题讨论】:
【参考方案1】:是的,socket.io 确实支持。这是socket.io自己做的一个例子:https://github.com/socketio/socket.io/tree/master/examples/chat
您应该寻找socket.on()
,它们是服务器端事件的侦听器,并查看socket.emit()
,它们是事件的发送者。 .emit()
可以添加到一个函数中,例如点击按钮触发。
根据您的需要,如果您要将消息发送给使用您的应用的每个用户,那么您可以使用上面的代码。但是,如果您只想发送给特定的人员列表,您应该查看名为 Rooms (http://socket.io/docs/rooms-and-namespaces/#rooms) 的东西。 这就像它听起来的那样,它将消息发送到用户连接到您的应用程序时添加到的特定房间。
【讨论】:
当用户登录时会为他打开一个房间,当他使用另一个浏览器登录时,我会将他添加到他的房间,然后每次我想要的更新发送这个房间,对吗?跨度>以上是关于使用 Socket.io 和 nodejs 向用户发送更新的主要内容,如果未能解决你的问题,请参考以下文章