gpt4 book ai didi

java - WebSocket 应用架构

转载 作者:搜寻专家 更新时间:2023-11-01 03:24:25 24 4
gpt4 key购买 nike

让我们考虑使用 WebSockets 的应用程序,它可以分为几个独立的模块。一个最简单的例子是聊天应用程序,其中客户端应用程序可以同时加入/连接到多个聊天室(每个聊天室彼此独立)。在开发此类应用程序时组织连接​​的首选方法是什么

  1. 在客户端为每个聊天室打开新的 websocket 连接。这样,您将在服务器端拥有多个 javax.websocket.server.ServerEndpoint 实例,每个实例都有不同的 url。服务器和客户端应用程序都将因此变得不那么复杂,并且可以分成功能(可重用) block 。缺点是客户端必须同时保持多个打开的连接。就我而言,我们一次最多讨论 10 个。

  2. 打开一个 websocket 连接并将消息多路复用到下面的聊天室,即消息中带有聊天室 ID 的字段。实现起来没什么大不了的,会让应用稍微复杂一点,但值得吗?

首选方法是什么?

最佳答案

一般来说这不容易回答,因为这取决于您的具体设置。但是,这是我对此的看法:

我认为选项 2 是更好的方法,因为开放连接对于许多网络服务器来说确实是一种有限的资源。请记住,websocket 连接不同于常规的 http 请求,并且会长时间保持打开状态。我认为多路复用协议(protocol)的额外复杂性确实不是问题。我所知道的 websocket 通信协议(protocol)的所有实现都使用后一种方法,尽管我必须承认我知道的例子并不多。

关于java - WebSocket 应用架构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18546724/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com