人生苦短我用python[0x0C] 小試tornado(websocket)

tornado簡介

python不僅可以用來做系統或者業務層面的開發,還可以做跟web相關的項目,目前有3個比較廣泛流行的python開源web框架,有web.py、tornado、django。web.py http://webpy.org/ 它相對於其他兩個框架來講比較精簡上手也比較快,當然了精簡的另外一方面就是功能比較簡單。tornado http://www.tornadoweb.org/ 網上流傳作者的靈感來自於web.py,tornado跟其他框架相比,經常說的一個特性就是非阻塞服務。最後一個常見的django我們會在另外的文章單獨再介紹,個人感覺django https://www.djangoproject.com/ 貌似更適合用來做web的前後端融合開發,但django使用起來個人覺得相對比較複雜,需要理解的概念東西比較多,tornado則相對來講比較適合做web的後端服務,而且使用起來也簡單。

tornado使用案例
什麼時候我們會用到python的web框架呢?在回答這個問題之前我們先了解一下現狀,我們知道當前有2個很成熟,穩定,而且使用面也很廣的開源web服務端,apache和nginx,他們都能內嵌或者支持php,lua等動態擴展,可以很好地完成大部分項目對web的需求功能。apache,nginx這些web服務端,它們擅長的地方都是提供http、https或者代理服務,如果請求的連接需要後臺長期運行的比如websocket服務,用起來就不太好使。現在微信的小程序都很流行,在微信的小程序裏面只有2種網絡通信方式可以用,一種是普通的http請求回覆型的斷連接,一種是支持長連接的websocket,假如需要使用小程序來實現一個長連接的功能,那麼websocket則是不二之選。
下面我們通過一個websocket服務器聊天室作爲例子,演示tornado框架的簡單使用。

先安裝tornado
人生苦短我用python[0x0C] 小試tornado(websocket)
編輯main.py文件內容如下:
人生苦短我用python[0x0C] 小試tornado(websocket)
運行main.py文件
人生苦短我用python[0x0C] 小試tornado(websocket)
我們再使用一個在線的websocket測試工具 http://www.websocket.org/echo.html 連接到我們的websocket服務器,記得我們使用的是普通的websocket(ws),所以務必訪問http的地址,如果訪問了https默認是用wss(SSL的websocket訪問是不行的),如下截圖所示:
人生苦短我用python[0x0C] 小試tornado(websocket)
一切正常的話,會提示CONNECTED代表連接websocket服務器成功,這個時候我們調用api接口發送一個消息。
人生苦短我用python[0x0C] 小試tornado(websocket)
我們可以看到websocket測試工具連接的websocket成功地收到我們發送的消息。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章