【问题标题】:Use the same WebSocket to push messages to a client使用相同的 WebSocket 将消息推送到客户端
【发布时间】: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


    【解决方案1】:

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

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

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

    问候 Uffe,XSockets 团队

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-01-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-09-15
      • 2021-07-18
      • 1970-01-01
      相关资源
      最近更新 更多