websocket的链接建立:
客户端向服务器发送一个HTTP请求,和普通的HTTP请求不同的是包含了部分头部信息,其中包括“upgrade:websocket”,代表一个websocket的链接。server收到请求后会有一个应答为客户端。代表了一个websocket的链接建立。
建立好了之后就可以进行数据交换了。
WebSocket协议本质上是一个基于TCP的协议,它由通信协议和编程API组成,WebSocket能够在浏览器和服务器之间建立双向连接,以基于事件的方式,赋予浏览器实时通信能力。既然是双向通信,就意味着服务器端和客户端可以同时发送并响应请求,而不再像HTTP的请求和响应。
为了实现实时的推送技术,html5定义了websocket协议,能更好的节省服务器资源和带宽,并实现真正意义上的实时推送。
客户端实现的步骤:
- 向TCP端口建立连接,等待建立成功。
- 向服务端发送HTTP的请求。
- 读取服务端返回的数据
- 解析从服务端返回的数据是否正确
- 如果解析正确,就建立的链接建立了数据通信的通道。