WebSocket是html5新增加的一种通信协议,我们知道HTTP协议是一种单向的网络协议,在建立连接后,它只允许浏览器客户端向WebServer发出请求资源后,WebServer才能返回相应的数据。即WebServer不能主动的推送数据,但是面对在web系统上实时聊天的这类需求,基于HTTP协议实现会很麻烦,公司项目组开发的在线客服系统中也有这样的需求,为了更好地实现,采用的是websocket技术。而测试系统的websocket的性能也是我的工作之一。
一、websocket简介
WebSocket协议是一种双向通信协议,它建立在TCP之上,同http一样通过TCP来传输数据,都是可靠的连接,但是它和http最大的不同有两点:
1.WebSocket是一种双向通信协议,在建立连接后,WebSocket服务器和Browser/UA都能主动的向对方发送或接收数据,就像Socket一样,不同的是WebSocket是一种建立在Web基础上的一种简单模拟Socket的协议;
2.WebSocket需要通过握手连接,类似于TCP它也需要客户端和服务器端进行握手连接,连接成功后才能相互通信。
那么建立一个websocket连接,是一个怎么样的握手过程呢,(总共4次哦)首先进行TCP的连接,三次握手成功后再进行一次websocket的握手:
Browser/UA通过http协议传送WebSocket支持的版本号,协议的字版本号,原始地址,主机地址等等一些列字段给服务器端&#x