sai*_*otd 2 javascript websocket node.js
假设您有一个用户可以打开聊天室的网站.一旦房间打开,用户可以邀请其他人聊天.
让我们假装你想使用WebSockets与客户进行通信.在大多数服务器端WebSocket实现中,有一个简单的函数connection.broadcast(message),它向所有连接的主机发送消息,但不向发起广播的主机发送消息.这是一个很棒的功能,因为您不需要为自己保留所有客户端的列表,以保持更新.聊天室示例的问题在于,在这种情况下,您不希望向每个人广播每条消息,而只是向同一房间中的其他客户端广播.
这让我有两个选择:
broadcastToRoom(room_id)功能,这反过来意味着跟踪所有客户和房间.你会怎么做?
只需滚动你自己的broadcast每个房间版本,你就可以在那个房间里保留一个用户列表,如果有人在那个房间发送消息,只需将它发送给房间里的所有用户,这取决于你的协议,你可以排除邮件的原始发件人.
无论如何,每个房间都有一个用户列表,因此您只需将连接作为属性添加到用户对象即可.
但请记住,由于最近"发现"当前WebSocket规范的安全问题,Opera和Mozilla都已禁用对WebSocket的支持,直到发布新版本.因此,WebSockets需要更多时间才能获得广泛的可用性,并且需要将服务器需要更改为新版本.
详情请见:
http://hacks.mozilla.org/2010/12/websockets-disabled-in-firefox-4/
http://blog.pusherapp.com/2010/12/9/it-s-not- WebSockets的-IT-S-您的破碎代理
| 归档时间: |
|
| 查看次数: |
2033 次 |
| 最近记录: |