WebSocket 是一种在单个 TCP 连接上进行全双工通信的协议,浏览器和服务器只需要完成一次握手,两者之间就可以直接创建 持久性的连接,并进行双向数据传输。
WebSocket 主要有如下特点:
• WebSocket 使用时需要先创建连接,这使得 WebSocket 成为一种有状态的协议, 在之后的通 信过程中可以省略部分状态信息(例如身份认证等)。
• WebSocket 连接在端口 80 ( WS )或者 443 ( wss )上创建,与 HTTP 使用的端口相同,这样, 基本上所有的防火墙都不会阻止 WebSocket 连接。
• WebSocket 使用 HTTP 协议进行握手, 因此它可以自 然而然地集成到网络浏览器和 HTTP 服 务器中,而不需要额外的成本。
• 心跳消息( ping 和 pong )将被反复的发送,进而保持 WebSocket 连接一直处于活跃状态。
• 使用该协议,当消息启动或者到达的时f克服务端和客户端都可以知道。
• WebSocket 连接关闭时将发送一个特殊的关闭消息。
• WebSocket 支持跨域,可以避免 Ajax的限制。 HTTP规范要求浏览器将并发连接数限制为每个主机名两个连接,但是当我们使用 WebSocket 的时候,当握手完成之后,该限制就不存在了,因为此时的连接已经不再是 HTTP 连接了 。
• WebSocket 协议支持扩展,用户可以扩展协议,实现部分自定义的子协议。 • 更好的二进制支持以及更好的压缩效果。
多用于 在线股票网站. • 即时聊天. • 多人在线游戏. • 应用集群通信。 • 系统性能实时监控。
1. 导入依赖
//TODO