首页 > 编程知识 正文

socket和websocket的区别,websocket和socket性能

时间:2023-05-04 16:18:04 阅读:280970 作者:3589

什么是websocket?

WebSocket是HTML5开始提供的一种在单个 TCP 连接上进行全双工通讯的协议。Websocket为服务器和浏览器提供了双工异步通信功能,即浏览器可以向服务端发送信息,服务端也可以向浏览器发送信息,websocket对浏览器的支持:eg IE10+、Chrome13+、Firefox6+,实际上Websocket是通过一个socket来实现双工异步通信能力的。

wbesocket的原理

Websocket同http一样都是应用层的协议,但它是一种双向通信协议,建立在TCP之上的。http是单向。

websocket和socket的区别是什么?

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

区别:Socket是传输控制层协议,websocket是应用层协议

Websocket是什么样的协议,具体有什么优点

首先,Websocket是一个持久化的协议,相对于HTTP这种非持久的协议来说。
简单的举个例子吧,用目前应用比较广泛的PHP生命周期来解释。
1) 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请求,就可以做到源源不断的信息传送了。(在程序设计中,这种设计叫做回调,即:你有信息了再来通知我,而不是我傻乎乎的每次跑来问你)
这样的协议解决了上面同步有延迟,而且还非常消耗资源的这种情况

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。