0

我从 WebSockets 开始,我已经构建了一个聊天 web 应用程序作为练习,它是这样的:每个用户在到达聊天室时都有一个打开的 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?
4

1 回答 1

1

要走的路取决于(恕我直言)您使用什么框架来进行此通信。我(和你一样)会选择多路复用(第二种选择),你使用一个连接来处理所有通信。

我假设您选择的框架支持发布/订阅和多路复用?

如果你愿意,我可以为你提供一个简单的例子。

问候 Uffe,XSockets 团队

于 2012-10-24T07:05:10.747 回答