1

我是 websockify 的新手。所以这里是我的情况。我们公司有用 C# 编写的服务器,每次从 Flash 和移动客户端连接大约 1000 到 2000 个原始 TCP 套接字以在线玩游戏。因此我们考虑将 Flash 移植到 Html5 并使用 Websockify 并在客户端基于 TCP 移植原生协议,但在服务器端仍然保持原生 TCP(移动客户端仍然有效)。

所以我猜Websock客户端和Websockify服务器通过Websock协议连接,而Websockify和我们的服务器通过TCP协议连接

如果我是对的,那么我们可以这样做来处理 Websockify 上的数量连接及其性能

4

1 回答 1

2

这些是几种不同语言的 websockify 实现。python 实现是默认的,并且具有最多的附加功能(身份验证、日志记录等)。然而,websockify 的基本功能只是桥接传输(WebSockets 到 TCP 套接字),所以实际上实现起来并不难。有一个 C 版本,您可能希望获得最大的效率,尽管它已经过时并且可能有错误。

话虽这么说,python 版本的 websockify 是相当可扩展的。每个与 websockify 的新连接都会启动一个新的子进程,因此它应该可以线性扩展至主机上的 CPU/内存量(单独的进程意味着没有 GIL 争用)。此外,如果单个主机无法处理所有连接的负载,websockify 可以水平扩展。换句话说,您可以在多个 websockify 服务器前面放置一个负载均衡器(支持 WebSockets)。

此外,websockify(python 版本)很容易配置为每个 websockify 实例支持多个目标。我添加了一个wiki 页面来描述如何做到这一点。

于 2015-09-28T15:27:04.313 回答