Web Socket

HTTP/1.0中大多实现为每个请求/响应交换使用新的连接

HTTP/1.1中一个连接可用一次或多次请求/响应交换

HTTP协议中,服务端不能主动联系客户端,只能由客户端发起

webSocket服务器和客户端均可主动发送数据

 

WebSocket对象提供了一组API,用于创建和管理WebSocket连接,以及通过连接发送的接收数据

WebSocket其实是一个新协议,根HTTP协议基本没关系,只是为了兼容现有浏览器的握手规范而已,

借用了HTTP的协议来完成握手。再送发数据时就不需要HTTP协议了。

建立接连的握手

当Web应用程序用new WebSocket(url)接口时,浏览器就开始与地址为url的服务器建立握手连接的过程

1.浏览器与WebSocket服务器通过TCP握手建立连接,如果这个建立连接失败,那么后面的过程就不会执行,

Web应用程序将收到错误消息通知

2.在TCP建立连接成功后,浏览器通过http协议传送WebSocket支持的版本号,协议的字版本号,原始地址,

主机地址等一系列字段给服务器端

3.WebSocket服务器收到浏览器发送来的请求后,如果数据包数据和格式正确,客户端和服务器端的协议版本号匹配等,

就接受本次握手连接,并给出相应的数据回复,同样回复的数据包也是采用http协议传输。

4.浏览器收到服务器回复的数据包后,如果数据包内容 格式 都没有问题,就表示本次连接成功,触发onopen消息,

此时Web 开发者就可以在此时通过send借口向服务器发送数据;否则握手连接失败,Web应用程序会收到on

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值