当用作简单的无状态Web服务服务器时,WebSocket是否比HTTP更好?

时间:2014-04-02 07:14:45

标签: http websocket

我读过一些比较WebSocket和其他推送方法(如Long polling)之间差异的文章。所有结论都倾向于WebSocket比服务器和客户端双向通信过程中具有低延迟的HTTP更好 但是,如果服务器推送不是必须的,例如,客户端游戏程序只是向服务器发出一些查询以获取某些信息,那么使用WebSocket然后使用HTTP还是更好吗?更具体地说,我有两个疑问:
1.在单一的请求 - 响应程序中,效率更高? (我在上述情况下每次查询都建立一个WebSocket连接。)
2.如果在客户端的生命周期中保持WebSocket连接,服务器容量(服务器可以服务的客户端总数)是否会受到不必要的长期连接的影响?

补充问题:
3.假设服务器和客户端之间只有一个TCP连接,随着时间的推移,连接的稳定性会下降和下降吗?

1 个答案:

答案 0 :(得分:1)

WebSocket HTTP 背后的基本功能是套接字。在HTTP中,它根据请求打开连接并在响应时关闭。对于WebSocket,概念是双向通信(全双工)而不是请求 - 响应周期。

您的问题的答案:

  1. 您可以使用HTTP服务器,也可以创建请求 - 响应设计 使用WebSocket

  2. 这很明显。每个连接都是一个套接字对象。服务器容量     如果我们不管理联系,将会受到影响。

  3. 在WebSocket中,它使用乒乓球机制来确保客户端或 服务器还活着。对于来自一端的每个 ping 请求,另一端是 回复 pong 回复。这种机制有助于检测故障,从而保持稳定。