WebSocket和Socket的区别

区别总结

协议不同

Socket 是基于传输层 TCP 协议的,而 Websocket 是基于 HTTP 协议的。

Socket 通信是通过 Socket 套接字来实现的,而 Websocket 通信是通过 HTTP 的握手过程实现的。

持久化连接

传统的 Socket 通信是基于短连接的,通信完成后即断开连接。

Websocket 将 HTTP 协议升级后,实现了长连接,即建立连接后可以持续通信,避免了客户端与服务端频繁连接和断开连接的过程。

双向通信

传统的 Socket 通信只支持单向通信,即客户端向服务端发送请求,服务端进行响应。

Websocket 可以实现双向通信,即客户端和服务端都可以发起消息,实时通信效果更佳。

效率

Socket 通信具有高效性和实时性,因为传输数据时没有 HTTP 协议的头信息。

Websocket 除了HTTP协议头之外,还需要发送额外的数据,因此通信效率相对较低。

应用场景

Socket 适用于实时传输数据,例如在线游戏、聊天室等需要快速交换数据的场景。

Websocket 适用于需要长时间保持连接的场景,例如在线音视频、远程控制等。

安全性

由于 Websocket 是基于HTTP协议的,与 HTTP 一样,也可以通过 SSL/TLS 加密来保障通信安全。

Socket 通信需要自己在应用层实现加密,相对较为复杂。

posted @ 2023-12-20 10:33  瘋耔  阅读(44)  评论(0编辑  收藏  举报
跳至侧栏