我们正在开发系统,现在由用.Net编写的服务器和Web客户端组成。它们通过网络套接字连接。
将来,我想将桌面客户端添加到此系统。当我已经有 web 的 websocket 实现并且我也可以将其用于桌面时,使用 TCP 进行桌面客户端和服务器之间的连接有什么意义吗?
不是真的。
- WebSockets 连接以 HTTP 请求的形式启动,因此它将比套接字连接更容易通过防火墙。
- WebSockets以HTTP形式启动,但它们的行为类似于常规TCP连接。
- 此外,大多数情况下,WebSockets使用相同的HTTP端口,因为尽管是不同的协议,但协商以HTTP开始。
- WebSocket协议已经定义了一种开销很小的成帧数据方式。
- WebSockets 支持传输安全 TLS
- WebSockets 支持 gzip 消息压缩,尽管并非所有浏览器都支持。
- 但是,如果您想实现自己的超级压缩算法以仅将其用于桌面客户端,则可以。只需将其配置为 WebSocket 扩展,标准浏览器永远不会要求该扩展。
如果您已经支持 WebSocket,我看不到启用原始 TCP 连接的意义。