不涉及任何Web浏览器的WebSocket?

时间:2018-11-10 20:54:13

标签: sockets websocket

我了解WebSockets是建立在TCP套接字上的,并且在消息完成方面提供了更加用户友好的界面(例如,请参见此SO问题:Differences between TCP sockets and web sockets, one more time)。

但是,仅此一项就可以证明在不涉及Web浏览器的情况下,通过TCP套接字选择websockets的理由?这样的设计选择是否有意义,还是应该将WebSocket的使用仅限于“ Web”环境?

2 个答案:

答案 0 :(得分:3)

WebSockets的要点是它们可以集成到典型的HTTP基础结构中,即,它们以HTTP握手(或带有wss://的HTTPS)开始,并且还设计为处理HTTP代理,(从头开始)像HTTP,并且可以使用相同的端口,以便它们可以通过防火墙...

如果需要这些属性,那么即使在浏览器之外,WebSockets也是一个不错的选择。如果不需要这些,则较简单的协议可能就足够了。

答案 1 :(得分:2)

WebSocket与自定义TCP / IP解决方案相比具有优势,因为WebSocket遇到的连接问题较少。

对于端口443上的TLS + WebSockets(wss://)尤其如此,这不是浏览器(或HTTP)所特有的。

这是因为许多防火墙,网桥和其他中介阻止了不同的TCP / IP端口或允许有限的流量通过。即使在更严格的环境中,通常也允许通过HTTP和HTTPS端口(80和443)进行通信,这增加了建立(和保留)连接的机会。