gpt4 book ai didi

process - websockets 服务器是否总是为每个用户运行进程?

转载 作者:行者123 更新时间:2023-12-02 16:40:07 26 4
gpt4 key购买 nike

我正在尝试了解 websokects 在服务器端的工作原理。正如我从这里的答案中得到的,主要是下一种情况:

  1. 浏览器连接到服务器
  2. 服务器与用户建立双工持久连接
  3. 服务器为此用户运行代码实例
  4. 这一切都会对其他用户重复

所以问题是:

服务器可以在1个进程中处理所有用户吗?不将它们分开,所以有些喜欢全局过程。

谢谢。

最佳答案

这高度依赖于服务器。

一些示例服务器实现/技术:(显然不是完整列表)

  1. 每个 WebSocket 连接一个进程
  2. 每个 WebSocket 连接一个线程
  3. 一个线程管理许多n个Websocket连接
  4. 所有 WebSocket 连接的共享线程池。(线程根据需要拉入并使用。 如果连接空闲,则线程返回到池中。)

您将看到每个实现的权衡。

由于 websocket 不是请求 -> 响应方法,因此很难说一种方法比另一种方法更好。您想了解您计划如何使用 websockets 来了解哪种方法是最好的。

关于这个主题的一些想法:(高度基于意见)

  • 您的服务器端会进行繁重的处理吗? (选择方法 1、2 或 3)
  • 您的服务器端会很健谈吗? (选择 3 或 4)
  • 您是否打算拥有 1 个中央 Websocket 服务器实例,与许多客户端通信(如聊天服务器)? (选择3或4)
  • 或者您打算为每个用户提供定制的交互式更新吗? (如股市事件提要)(选择 1、2 或 4)
  • 想要支持数十(如果不是数百)数千个同时连接? (选择3或4)
  • 您最大的限制是什么?内存?中央处理器?网络带宽?

关于process - websockets 服务器是否总是为每个用户运行进程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19329552/

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