最近在看HTML5的東西,我比較感興趣的是WebSockets,WebWorker以及CORS。去官方過了下WebSockets的規範。WebSockets在Web層實現了TCP協議來進行雙向通訊,使得程序員們不用再苦逼苦的以各類方式模擬這種雙向通訊了。
這裏用純WebSockets+HTML5的一些新特性實現了一個在線聊天室的功能。
前端是我永遠的痛,好在有Bootstrap:)
服務端基於mod_pywebsocket,客戶端就一個html。
實現一個聊天室不難,實現一個穩定的聊天室就要多作些工做了。
使用心跳包定時kill掉無動做的客戶端,解決了非正常退出聊天室形成的zombie鏈接。
數據對象以json的形式在客戶端和服務端之間傳送
固然還有頁面上的一些細節:當前用戶名粗體顯示,頭像識別性別等。
沒有實現太多其餘的功能,實際體驗下WebSockets就行了。
mod_pywebsocket的安裝過程不說了,下載源碼包而後執行install.py。
啓動客戶端,standlone,py位於mod_pywebsocket的源碼包中。
- python standlone.py -p 2012 -d /root/Destop/talk2me/
而後瀏覽器直接訪問127.0.0.1:2012/chatroom.html便可
![](http://static.javashuo.com/static/loading.gif)
模擬一段×××聊天場景做爲YY:html
![](http://static.javashuo.com/static/loading.gif)
××× 前端