我是websockify的新手。所以在这里我的情况。 我们公司拥有用C#编写的服务器,每次从Flash和移动客户端处理大约1000到2000个原始TCP套接字,以便在线玩游戏。因此,我们考虑将Flash移植到Html5并在客户端使用Websockify并在TCP上构建端口本机协议,但仍然在服务器端保留本机TCP(对于移动客户端仍然有效)。
所以我猜Websock客户端和Websockify服务器通过Websock协议和Websockify连接,我们的服务器通过TCP协议连接
如果我是对的,那么我们可以这样做来处理Websockify上的数量连接及其性能
答案 0 :(得分:2)
是几种不同语言的websockify的实现。 python实现是默认的,并具有最多的附加功能(身份验证,日志记录等)。但是,websockify的基本功能只是桥接传输(WebSockets到TCP套接字),因此实际上并不难实现。有一个C版本,你可能看起来可以获得最大的效率,虽然它是过时的,可能是错误的。
话虽这么说,websockify的python版本是相当可扩展的。每个与websockify的新连接都会启动一个新的子进程,因此它应该可以线性扩展到主机上的CPU /内存量(单独的进程意味着没有GIL争用)。此外,如果单个主机无法处理所有连接的负载,则websockify可以水平扩展。换句话说,您可以将负载均衡器(支持WebSockets)放在多个websockify服务器的前面。
此外,websockify(python版本)易于配置,以支持每个websockify实例的多个目标。我添加了一个wiki page来描述如何做到这一点。