socket 与 websocket的区别

区别:

socket并不是一个协议,而是抽象出来的一层,应用于应用层和传输控制层之间的一组接口,
socket是传输控制层协议,websocket是应用层协议

websocket是什么样的协议,具有什么有点

首先,websocket是一个持久化的协议,相对于HTTP这种非持久的协议来说
HTTP的生命周期通过Request来界定,一个Request一个Response ,在HTTP1.0中
这次HTTP请求结束啦
HTTP1.1进行了改进,使得有一个keep-alive,也就是说,在一个HTTP连接中,可以发送多个Request,接收多个Response。
但是请记住 Request = Response , 在HTTP中永远是这样,也就是说一个request只能有一个response。而且这个response也是被动的,不能主动发起。

ajax轮询、long poll是非常消耗资源的:
ajax轮询 需要服务器有很快的处理速度和资源。(速度)
long poll 需要有很高的并发,也就是说同时接待客户的能力。(场地大小)

在这种情况下、websocket就出现了,websocket可以主动给客户端推送消息了,只需要经过一次HTTP请求,就可以做到源源不断的信息传送了。(在程序设计中,这种设计叫做回调,即:你有信息了再来通知我,而不是我傻乎乎的每次跑来问你)
这样的协议解决了上面同步有延迟,而且还非常消耗资源的这种情况

猜你喜欢

转载自www.cnblogs.com/zhangqing979797/p/10553974.html
今日推荐