WebSocket
什么是 WebSocket?
WebSocket 是一种保持开放的双向通信通道,因此得名。 WebSocket 连接由名为握手的过程发起,其中客户端向服务器发送 HTTP 请求,服务器建立会话。
握手后,客户端和服务器都可以发送任意数据,客户端发起的消息由服务器通过将消息发送回客户端来确认。由于这种全双工通信通道,当使用 HTTP cookie 时,客户端和服务器之间的控制流将从双向消息传递返回到单向消息传递。
重要的是它是浏览器和服务器之间的开放连接,并且可以双向传输数据。
WebSocket 可用于不同的应用程序,包括聊天室、扑克游戏、股票行情、多人游戏、视频流服务等等。您唯一需要做的就是在防火墙中打开一个端口并配置您的 Web 服务器以使用它。
浏览器和服务器之间传输大量数据,有时打开连接并保持打开状态直到工作完成会更容易。在处理大量数据或频繁更改的数据时尤其如此。 HTML5 WebSocket API 可以让您做到这一点。
利用 WebSocket 可以减少延迟,从而使 Web 应用程序更有效地运行,从而转化为更好的用户体验。
以下是 WebSocket 的不同用例如何实现更好的用户体验:
实时 Web 应用程序:WebSocket 是基于单个 TCP 套接字的双向通信通道。与 HTTP 不同,WebSocket 连接可以无限期地保持活动状态。它们旨在用于客户端和服务器之间的双向通信,其中需要将大量数据从服务器发送到客户端,而不会丢失任何数据或等待客户端请求更多数据。
交易网站依赖WebSocket通道,因此用户始终了解波动。这些网站的后端服务器不断在同一个开放通道上将数据推送到客户端。
游戏应用程序:WebSocket 的重要用例之一是游戏应用程序,它可用于启用实时场景。它维护客户端和服务器之间的持久连接。这允许实时数据传输而无需刷新用户界面。 UI 不需要建立另一个连接来接收数据。
聊天应用:当需要在用户之间广播消息时,WebSocket 是理想的协议。聊天应用程序使用 WebSocket 建立连接并重用同一打开的连接来发送消息。