码迷,mamicode.com
首页 > Web开发 > 详细

WebSocket简介

时间:2020-08-31 13:15:02      阅读:58      评论:0      收藏:0      [点我收藏+]

标签:span   网站   soc   客户端   websocket   message   接口   http协议   间隔   

【介绍】

websocket是一种在单个 TCP 连接上进行全双工通讯的协议,主要是为了弥补http协议上的不足之处

 

【为什么选择WebSocket】

可以实现服务端主动给客户端推送消息。一般应用都是客户端主动向服务端获取消息,而不是服务端实时推送消息,

这样既不能获取最新消息,又占用资源

Websocket可以主动向客户端推送消息。

使用客户端的websocket去连接服务器,一旦连接建立起来,服务器就可以向客户端推送消息,客户端也可以向服务端要数据

 

很多网站为了实现推送技术,所用的技术都是 Ajax 轮询。轮询是在特定的的时间间隔(如每1秒),由浏览器对服务器发出HTTP请求,

然后由服务器返回最新的数据给客户端的浏览器。这种传统的模式带来很明显的缺点,即浏览器需要不断的向服务器发出请求,

然而HTTP请求可能包含较长的头部,其中真正有效的数据可能只是很小的一部分,显然这样会浪费很多的带宽等资源

 

浏览器通过 JavaScript 向服务器发出建立 WebSocket 连接的请求,连接建立以后,客户端和服务器端就可以通过 TCP 连接直接交换数据

当你获取 Web Socket 连接后,你可以通过 send() 方法来向服务器发送数据,并通过 onmessage 事件来接收服务器返回的数据。

 

【与socket的区别】

Socket其实并不是一个协议,而是为了方便使用TCP或UDP而抽象出来的一层,是位于应用层和传输控制层之间的一组接口

当两台主机通信时,必须通过Socket连接,Socket则利用TCP/IP协议建立TCP连接。TCP连接则更依靠于底层的IP协议,IP协议的连接则依赖于链路层等更低层次。

总结:

Socket是传输控制层协议,WebSocket是应用层协议

 

【与http区别】

相同:

都是一样基于TCP的,都是可靠性传输协议。

都是应用层协议

 

不同:

WebSocket是双向通信协议,而Http是单向的

WebSocket是需要握手进行建立连接的

 

WebSocket在建立握手时,数据是通过HTTP传输的。但是建立之后,在真正传输时候是不需要HTTP协议的

WebSocket简介

标签:span   网站   soc   客户端   websocket   message   接口   http协议   间隔   

原文地址:https://www.cnblogs.com/AduBlog/p/13559330.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!