webSocket(1)---概述

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/sinat_23490433/article/details/83449730

1、使用场景

社区聊天、弹幕、多玩家游戏、协同编辑、股票基金实时报价、体育实况更新、基于位置的应用、在线教育、在线客服等需要实时数据通讯的场景。

 

2、软件体系结构

分为B/S和C/S两种

C/S:即client/server模式,传统运用比较广泛的软件体系结构,如qq、yy等需要用户安装客户端。

B/S:即Browser/Server模式,当前应用比较广泛的体系结构,基于浏览器建立和服务器端之间的数据通信,该模式下不需要用户安装客户端,只要有浏览器即可。如在线客服功能。

 

3、http协议和webSocket协议

在B/S结构中,主要运用的传输协议是http协议

http协议:客户端—服务器之间单向通信数据通信,通常方式是客户端和服务器端之间通过请求—应答方式建立通信,http完整的通信过程是,用户在浏览器中主动向服务器端发起请求,服务器端接收到客户端请求之后进行数据处理,将处理结果给与客户端应答。

扫描二维码关注公众号,回复: 5864435 查看本文章

 

WebSocket协议:客户端---服务端之间进行双向通信,客户端和服务器之间建立“握手”通道,握手通道一旦建立后,客户端和服务器端之间可以相互主动向对方发送数据,在这个过程中双方可以有多次连续向对方推送数据不需要重新建立连接。

 

http协议和webSocket协议区别:

1)、请求发起者:http客户端主动发起请求,服务器端不能主动发起请求

                                WebSocket服务器端和客户端都可以主动发起请求

2)、资源开销:http每次请求—应答都需要客户端和服务器端建立连接的模式

                               WebSocket端一旦建立连接之后,后续数据都以帧序列的形式传输,不需要客户端和服务端重新发起连接请求,在海量并发及客户端与服务器交互负载流量大的情况下,极大的节省了网络带宽资源的消耗,有明显的性能优势,且客户端发送和接收消息是在同连接上发起的,实时性优势明显。

3)、连接次数:http每次通信都要建立连接,websocket只需要建立一次http握手连接,连接成功后可以进行多次数据通信。

 

4、webSocket流程和原理

流程:

1)、创建ws对象及通道:客户端建立webSocket对象并连接服务器端对象

2)、通道建立成功后需要执行的动作:onopen事件

3)、发送消息:send方法

4)、接收消息:onmessage事件

5)、关闭通道:onclose事件

6)、错误处理:onerror事件

 

原理图如下:

  1.  

猜你喜欢

转载自blog.csdn.net/sinat_23490433/article/details/83449730