【发布时间】:2012-10-13 20:51:17
【问题描述】:
我从 WebSockets 开始,我已经构建了一个聊天网络应用程序作为练习,它是这样的: 每个用户在到达聊天室时都有一个打开的 websocket 连接,当有新消息可用时,它们会被简单地推送给每个用户。然后使用 javaScript 显示不同的消息。
现在,我正在尝试通过创建一对一聊天来进一步推动练习。基本上,将不再有一个独特的聊天室,而是私人聊天对话。用户应该能够从同一页面与不同的人交谈。 (例如 Google 聊天或 Facebook 聊天)。 在考虑了这样做的方法之后,我得出了两个解决方案:
- 打开多个 websocket 连接。 (如果可能)
- 使用相同的连接来处理所有打开的对话。基本上,每条推送到客户端的消息都会带有一个字段,说明它属于哪个会话,然后一个 javaScript 将处理正确会话下每条消息的显示。
对我来说,第二种解决方案似乎比第一种更好。所以,我的问题是:
1- Will this solution have any performance problems? (Lost messages...)
2- Is there any other-better way of doing this?
【问题讨论】:
标签: concurrency websocket