有没有充分的理由在浏览器外使用Websockets?

Joh*_*ght 10 cocoa websocket ios

Websockets被设计用于在浏览器中进行快速双向通信.假设您可以控制服务器和本机客户端(比如iOS或Mac应用程序),是否有任何理由或情况可以通过websocket而不是使用HTTP库进行通信?

kan*_*aka 19

我将回答几个不同的问题,希望最终回答你的问题:

  • 是否有理由从客户端而不是HTTP使用WebSockets?是的.

    • 与HTTP相比,WebSockets具有双向,全双工,低延迟和低开销.

    • 与HTTP/AJAX/COMET相比,部分较低的延迟和开销是您不必为每个请求重新建立连接.

  • 是否有理由从客户端而不是原始套接字使用WebSockets?是的.

    • 初始WebSockets握手是HTTP服务器友好的(并且具有一些源和散列交换安全机制).它允许轻松更新Web服务器,以支持WebSockets与真实WebSockets服务器应用程序连接的重定向或代理.

    • WebSockets的另一个好处是它是一个框架协议,允许应用程序专注于有用的功能,而无需处理自己的框架和缓冲.

    • 通过像websockify这样的东西,可以很容易地将WebSockets支持添加到现有的TCP套接字服务器或代理.免责声明:我做了websockify.

    • 从服务器的角度来看,WebSockets是一个胜利,因为它们可以通过独立客户端或通过浏览器访问.这意味着将会有越来越多的服务,这些服务目前基于TCP套接字,将通过WebSockets公开.因此,现在向客户端添加WebSockets支持将在未来获得回报.