前段时间笔者在SkyForm ECP产品的开发过程中,需要做一个Web端的Linux控制台功能。结合后端同事的建议,采用了WebSocket网络协议来辅助完成这个功能。在这里先简单介绍一下WebSocket网络协议:
1> 简介
WebSocket协议是基于TCP的一种新的网络协议。它实现了浏览器与服务器全双工(full-duplex)通信——允许服务器主动发送信息给客户端。
2> 背景
长久以来, 创建实现客户端和用户端之间双工通讯的webapp都会造成HTTP轮询的滥用: 客户端向主机不断发送不同的HTTP呼叫来进行询问。这会导致一系列的问题:
服务器被迫为每个客户端使用许多不同的底层TCP连接:一个用于向客户端发送信息,其它用于接收每个传入消息。
有线协议有很高的开销,每一个客户端和服务器之间都有HTTP头。
客户端脚本被迫维护从传出连接到传入连接的映射来追踪回复。
一个更简单的解决方案是使用单个TCP连接双向通信。 这就是WebSocket协议所提供的功能。 结合WebSocket API ,WebSocket协议提供了一个用来替代HTTP轮询实现网页到远程主机的双向通信的方法。
传统HTTP客户端与服务器请求响应模式:

WebSocket模式客户端与服务器请求响应模式:

1> 简介
WebSocket协议是基于TCP的一种新的网络协议。它实现了浏览器与服务器全双工(full-duplex)通信——允许服务器主动发送信息给客户端。
2> 背景
长久以来, 创建实现客户端和用户端之间双工通讯的webapp都会造成HTTP轮询的滥用: 客户端向主机不断发送不同的HTTP呼叫来进行询问。这会导致一系列的问题:
服务器被迫为每个客户端使用许多不同的底层TCP连接:一个用于向客户端发送信息,其它用于接收每个传入消息。
有线协议有很高的开销,每一个客户端和服务器之间都有HTTP头。
客户端脚本被迫维护从传出连接到传入连接的映射来追踪回复。
一个更简单的解决方案是使用单个TCP连接双向通信。 这就是WebSocket协议所提供的功能。 结合WebSocket API ,WebSocket协议提供了一个用来替代HTTP轮询实现网页到远程主机的双向通信的方法。
传统HTTP客户端与服务器请求响应模式:

WebSocket模式客户端与服务器请求响应模式:
