您现在的位置是:首页 > web开发 > Socket与WebSocket之分析对比

Socket与WebSocket之分析对比

web开发作者:dayu日期:8天前点击:1

而是用 WebSocket 技术,则会大幅降低上面提到的消耗:(下图来自websocket.org)

技术分享

关于更详细的描述,尹立的这篇文章讲得非常好:WebSocket(2)–为什么引入WebSocket协议。

那么,WebSocket 到底与 HTTP 协议到底是一个什么样的关系呢?它和 Socket 又有什么联系?这就要讲到 OSI 模型和 TCP/IP 协议族。

这里是 PDF 版:

技术分享

主机 A 的应用程序要能和主机 B 的应用程序通信,必须通过 Socket 建立连接,而建立 Socket 连接必须需要底层 TCP/IP 协议来建立 TCP 连接。建立 TCP 连接需要底层 IP 协议来寻址网络中的主机。我们知道网络层使用的 IP 协议可以帮助我们根据 IP 地址来找到目标主机,但是一台主机上可能运行着多个应用程序,如何才能与指定的应用程序通信就要通过 TCP 或 UPD 的地址也就是端口号来指定。这样就可以通过一个 Socket 实例唯一代表一个主机上的一个应用程序的通信链路了。

而WebSocket则不同,它是一个完整的应用层协议,包含一套标准的API。

所以,从使用上来说,WebSocket 更易用,而 Socket 更灵活。

5. HTML5 与 WebSocket

WebSocket API是HTML5标准的一部分, 但这并不代表 WebSocket 一定要用在 HTML 中,或者只能在基于浏览器的应用程序中使用。

实际上,许多语言、框架和服务器都提供了 WebSocket 支持,例如:

  • 基于 C 的libwebsocket.org
  • 基于 Node.js 的Socket.io
  • 基于 Python 的ws4py
  • 基于 C++ 的WebSocket++
  • Apache 对 WebSocket 的支持:Apache Module mod_proxy_wstunnel
  • Nginx 对 WebSockets 的支持:NGINX as a WebSockets Proxy、NGINX Announces Support for WebSocket Protocol、WebSocket proxying
  • lighttpd 对 WebSocket 的支持:mod_websocket

Socket与WebSocket之分析对比

原文地址:http://www.cnblogs.com/xiand/p/7210521.html


下一篇       上一篇