Javascript 使用WebSocket。。。有效地?

Javascript 使用WebSocket。。。有效地?,javascript,networking,websocket,Javascript,Networking,Websocket,我已经阅读了几乎所有关于WebSocket的指南和教程,但没有一本介绍了如何有效地使用它们 有人对如何做到这一点有任何指导吗?我关心的是单个连接可以占用多少带宽,特别是当应用程序打开了数百个连接时 WebSocket的效率取决于处理它们的Web服务器的实现和体系结构。WebSocket是一个非常有效的协议,与所有不同的协议相比,它只需要2字节(!)的开销,并且在每个Ajax请求中发送 通常,用于WebSocket的高效Web服务器应该是事件驱动的(参见下面的示例)。相反,实现web服务器的传统方

我已经阅读了几乎所有关于WebSocket的指南和教程,但没有一本介绍了如何有效地使用它们


有人对如何做到这一点有任何指导吗?我关心的是单个连接可以占用多少带宽,特别是当应用程序打开了数百个连接时

WebSocket的效率取决于处理它们的Web服务器的实现和体系结构。WebSocket是一个非常有效的协议,与所有不同的协议相比,它只需要2字节(!)的开销,并且在每个Ajax请求中发送

通常,用于WebSocket的高效Web服务器应该是事件驱动的(参见下面的示例)。相反,实现web服务器的传统方法是为每个请求生成一个新线程。但是线程分配了很多内存,例如每个线程256MB。因此,如果服务器上有1GB内存,则无法同时处理很多请求。但是,如果您的服务器是事件驱动的,那么您的内存使用将几乎保持不变,因为不会创建新线程。另见

您可以发送WebSocket中的任何数据。如果客户机是web浏览器,或者可能是web浏览器,则JSON是有效的。如果您的客户端是自定义应用程序,则可以使用。另见

您可以使用(Python)或(Java)实现高效的websocket服务器。是一个在Netty上实现的用于Java和Scala的高效web框架。另一个有效的替代方案是Yaws-web服务器(Erlang)或Node.js+Socket.io(JavaScript)


作为一名应用程序开发人员,您发送的数据越少,服务器上的效率就越高(流量越小),负载也就越小。

可能,但稍微优化一下也不会有什么坏处,尤其是在网络延迟是一个巨大因素的应用程序中。因此,您希望WebSocket具有QoS。。。或者到底是什么?它们的全球最大值是多少?您担心的是客户端还是服务器?@Alexander:效率取决于服务器的体系结构,例如线程。作为应用程序开发人员,您只发送尽可能少的内容。@Alexander use@Alexander:Node.js非常有效。线程内存取决于操作系统和技术。通常,64位字节系统上的JVM线程的内存为1024k,而不是256MB。一个线程是一个轻量级的进程,而不是整个操作系统。你能详细介绍一下在什么情况下一个线程可能会占用256MB的内存吗?这是否与WebSocket技术有关?