關於WebSocket不太懂,上網搜了一些資料,說是 WebSocket 是 html5 規范發布的新協議,和 http協議完全是兩個不同的概念,或者說基本沒關系;WebSocket 協議 和 http協議的唯一聯系點在於,WebSocket 協議為了兼容現有瀏覽器的握手規范而采用了 http協議中的握手規范 以建立WebSocket連接;
那WebSocket通信跟http協議有什么不一樣的呢?
這篇文章中有詳細介紹:http://blog.csdn.net/pacosonswjtu/article/details/52035252
HTML5 WebSocket 設計出來的目的就是要取代輪詢和 Comet 技術,使客戶端瀏覽器具備像 C/S 架構下桌面系統的實時通訊能力。 瀏覽器通過 JavaScript 向服務器發出建立 WebSocket 連接的請求,連接建立以后,客戶端和服務器端就可以通過 TCP 連接直接交換數據。因為 WebSocket 連接本質上就是一個 TCP 連接,所以在數據傳輸的穩定性和數據傳輸量的大小方面,和輪詢以及 Comet 技術比較,具有很大的性能優勢.
WebSocket 規范
WebSocket 協議本質上是一個基於 TCP 的協議。為了建立一個 WebSocket 連接,客戶端瀏覽器首先要向服務器發起一個 HTTP 請求,這個請求和通常的 HTTP 請求不同,包含了一些附加頭信息,其中附加頭信息”Upgrade: WebSocket”表明這是一個申請協議升級的 HTTP 請求,服務器端解析這些附加的頭信息然后產生應答信息返回給客戶端,客戶端和服務器端的 WebSocket 連接就建立起來了,雙方就可以通過這個連接通道自由的傳遞信息,並且這個連接會持續存在直到客戶端或者服務器端的某一方主動的關閉連接。

請求數據的方式可以用WebSocket通信方式,那么WCF服務可以支持WebSocket通信嗎
在這個篇文章中找到了答案:https://msdn.microsoft.com/zh-cn/library/hh977020.aspx
發現WCF4.5中新增了一個NetHttpBinding協議,支持Websocket的。但是需要在在windows 8及以上的系統中支持。
Websocket通信協議,需要瀏覽器的支持,且對硬件服務器要求:server2012或window 8以上操作系統才能支持。
