关于WebSocket不太懂,上网搜了一些资料,说是 WebSocket 是 html5 规范发布的新协议,和 http协议彻底是两个不一样的概念,或者说基本不要紧;WebSocket 协议 和 http协议的惟一联系点在于,WebSocket 协议为了兼容现有浏览器的握手规范而采用了 http协议中的握手规范 以创建WebSocket链接;html
那WebSocket通讯跟http协议有什么不同的呢?html5
这篇文章中有详细介绍:http://blog.csdn.net/pacosonswjtu/article/details/52035252windows
HTML5 WebSocket 设计出来的目的就是要取代轮询和 Comet 技术,使客户端浏览器具有像 C/S 架构下桌面系统的实时通信能力。 浏览器经过 JavaScript 向服务器发出创建 WebSocket 链接的请求,链接创建之后,客户端和服务器端就能够经过 TCP 链接直接交换数据。由于 WebSocket 链接本质上就是一个 TCP 链接,因此在数据传输的稳定性和数据传输量的大小方面,和轮询以及 Comet 技术比较,具备很大的性能优点.浏览器
WebSocket 协议本质上是一个基于 TCP 的协议。为了创建一个 WebSocket 链接,客户端浏览器首先要向服务器发起一个 HTTP 请求,这个请求和一般的 HTTP 请求不一样,包含了一些附加头信息,其中附加头信息”Upgrade: WebSocket”代表这是一个申请协议升级的 HTTP 请求,服务器端解析这些附加的头信息而后产生应答信息返回给客户端,客户端和服务器端的 WebSocket 链接就创建起来了,双方就能够经过这个链接通道自由的传递信息,而且这个链接会持续存在直到客户端或者服务器端的某一方主动的关闭链接。服务器
请求数据的方式能够用WebSocket通讯方式,那么WCF服务能够支持WebSocket通讯吗架构
在这个篇文章中找到了答案:https://msdn.microsoft.com/zh-cn/library/hh977020.aspxsocket
发现WCF4.5中新增了一个NetHttpBinding协议,支持Websocket的。可是须要在在windows 8及以上的系统中支持。性能
Websocket通讯协议,须要浏览器的支持,且对硬件服务器要求:server2012或window 8以上操做系统才能支持。操作系统