今天来讲一下与其他协议的区别和相同点,让各位同学能够更加深入的去了解和运用各种协议。 1 什么是 WebSocket ? WebSocket 从满足基于 Web 的日益增长的实时通信需求应运而生,解决了客户端发起多个 Http 请求到服务器资源浏览器必须要在经过长时间的轮询问题,实现里多路复用,是全双工、双向、单套接字连接,在 WebSocket 协议下服务器和客户端可以同时发送信息。
2 WebSocket 和 Http 的异同点 同:1 建立在 TCP 之上,通过 TCP 协议来传输数据。 2 都是可靠性传输协议。 3 都是应用层协议。 异:1 WebSocket 是 HTML5 中的协议,支持持久连接,HTTP 不支持持久连接 2 HTTP 是单向协议,只能由客户端发起,做不到服务器主动向客户端推送信息。
3 WebSocket 和 Socket Socket 本身并不是一个协议,它工作在 OSI 模型会话层,是一个套接字,TCP/IP 网络的 API,是为了方便大家直接使用更底层协议而存在的一个抽象层。Socket 其实就是一个门面模式,它把复杂的 TCP/IP 协议族隐藏在 Socket 接口后面,对用户来说,一组简单的接口就是全部,让 Socket 去组织数据,以符合指定的协议。 而 WebSocket 则是一个典型的应用层协议。
4 WebSocket HTTP 和 TCP/IP WebSocket 和 HTTP 一样,都是建立在 TCP 之上,通过 TCP 来传输数据。后面的文章我会用代码举例子来展示。
5 Socket 和 TCP/IP Socket 是对 TCP/IP 协议的封装,像创建 Socket 连接时,可以指定使用的传输层协议,Socket 可以支持不同的传输层协议(TCP 或 UDP),当使用 TCP 协议进行连接时,该 Socket 连接就是一个 TCP 连接。 说了这么多,希望对大家来理解 WebSocket 与 Socket、TCP、HTTP 的关系有所帮助,如果大家在工作当中需要用到 WebSocket 而不能解决问题的时候,建议大家可以使用一下一些三方的 WebSocket,融云、极光、GoEasy 等,我这里就给大家推一个简单免费的三方 WebSocket,GoEasy。很成熟的一款产品,推荐原因是代码简单,运行稳定。网站是 www.goeasy.io ,大家可以自己去看一下。下篇文章我会用代码来举例说明这篇文章没有具体说的地方。
1
mingyun 2018-07-21 10:16:06 +08:00
注册个账号有邮箱还要手机?
|