Tornado編程-WebSocket原理及代碼示例

  • A+
所屬分類:python

一. WebSocket協議

WebSocket 協議本質上是一個基于 TCP 的協議。

為了建立一個 WebSocket 連接,客戶端瀏覽器首先要向服務器發起一個 HTTP 請求,這個請求和通常的 HTTP 請求不同,包含了一些附加頭信息,其中附加頭信息”Upgrade: WebSocket”表明這是一個申請協議升級的 HTTP 請求,服務器端解析這些附加的頭信息然后產生應答信息返回給客戶端,客戶端和服務器端的 WebSocket 連接就建立起來了,雙方就可以通過這個連接通道自由的傳遞信息,并且這個連接會持續存在直到客戶端或者服務器端的某一方主動的關閉連接。

由于這個規范目前還是處于草案階段,版本的變化比較快,通常采用 draft-hixie-thewebsocketprotocol-76 版本來描述 WebSocket 協議,詳情可訪問 http://dev.w3.org/html5/websockets/。

二. Firefox的WebSocket實現

1. 請求

2. 應答

三. 基于Tornado3.1的WebSocket編程實現

1.HTML示例
注:基于jQuery、Bootstrap,同時將websocket.html保存在websocket.py同級的template目錄下

2.python示例

 

weinxin
微信公眾號
掃一掃關注運維生存時間公眾號,獲取最新技術文章~

發表評論

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: