为什么要使用 WebSocket:WebSocket 是客户端和服务器之间双向数据传输的标准协议。WebSocket 连接允许客户端和服务器之间的全双工通信,以便任何一方都可以通过已建立的连接将数据推送到另一方。
一、为什么要使用 WebSocket
WebSocket 是客户端和服务器之间双向数据传输的标准协议。WebSocket 连接允许客户端和服务器之间的全双工通信,以便任何一方都可以通过已建立的连接将数据推送到另一方。WebSockets 以及Server-sent Events (SSE) 和WebRTC 数据通道的相关技术之所以重要,是因为 HTTP 并不是为了保持打开连接以便服务器频繁地将数据推送到 Web 浏览器。以前,大多数 Web 应用程序将通过频繁的异步 JavaScript 和 XML (AJAX) 请求实现长轮询。
二、实现 WebSocket
Web 浏览器和服务器都必须实现 WebSockets 协议来建立和维护连接。与典型的 HTTP 连接不同,WebSockets 连接是长期存在的,因此对服务器具有重要意义。
多线程或基于多进程的服务器无法为 WebSockets 适当扩展,因为它旨在打开连接,尽快处理请求,然后关闭连接。任何实际的 WebSockets 服务器端实现都需要一个异步服务器,例如Tornado或Green Unicorn猴子,用gevent打补丁。
在客户端,没有必要为 WebSockets 使用 JavaScript 库。实现 WebSockets 的 Web 浏览器将通过WebSockets 对象公开所有必要的客户端功能。
但是,JavaScript 包装器库可以通过实现优雅降级(通常在不支持 WebSockets 时回退到长轮询)并提供围绕特定于浏览器的 WebSocket 怪癖的包装器,使开发人员的生活更轻松。JavaScript 客户端库和 Python 实现的示例显示在下面的部分中。
延伸阅读
WebSocket是什么
WebSocket是一种在单个TCP连接上进行全双工通信的协议。WebSocket通信协议于2011年被IETF定为标准RFC 6455,并由RFC7936补充规范。WebSocket API也被W3C定为标准。
WebSocket使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据。在WebSocket API中,浏览器和服务器只需要完成一次握手,两者之间就直接可以创建持久性的连接,并进行双向数据传输。
文章标题:为什么要使用 WebSocket,发布者:E.Z,转载请注明出处:https://worktile.com/kb/p/51720