websocket是html5规范中的一部分,客户端新建一个websocket实例.绑定需要连接到的服务器,当客户端连接服务端的时候,会向服务端发送一个http报文,如果服务端支持websocket协议,那么它就会将自己的通信协议切换到websocket,同时发给客户端响应报文头:
服务端响应报文头
返回的状态码为101,表示同意客户端协议转换请求,并将它转换为websocket协议。以上过程都是利用http通信完成的,称之为websocket协议握手(websocket Protocol handshake),进过这握手之后,客户端和服务端就建立了websocket连接,以后的通信走的都是websocket协议了。所以总结为websocket握手需要借助于http协议,建立连接后通信过程使用websocket协议。同时需要了解的是,该websocket连接还是基于我们刚才发起http连接的那个TCP连接。一旦建立连接之后,我们就可以进行数据传输了,websocket提供两种数据传输:文本数据和二进制数据。
详细用法参考webIm项目。
网友评论