HTML5中一個很酷的新功能就是WebSockets ,它可以讓我們無需AJAX請求即可與伺服器端對話。今天彬Go將讓大家透過Php環境的伺服器端運行WebSocket,創建客戶端並透過WebSockets協定發送和接收伺服器端資訊。
您也可以參考以下HTML5相關文章:
什麼是WebSockets?
WebSockets是在一個(TCP)介面進行雙向通訊的技術,PUSH技術類型。同時WebSockets仍將基於W3C標準,目前為止,Chrome和Safari的最新版本瀏覽器已經支援WebSockets了。
WebSockets將會取代什麼? WebSockets可以取代Long Polling(PHP服務端推送技術),這是一個有趣的概念。客戶端發送一個請求到伺服器,現在,伺服器端不會響應還沒準備好的數據,它會保持連接的開啟狀態直到最新的數據準備就緒發送,之後客戶端收到數據,然後發送另一個請求。這有它的好處:減少任一連線的延遲,當一個連線已經開啟時就不需要建立另一個新的連線。但是Long-Polling並不是什麼花哨技術,他仍有可能發生請求暫停,因此會需要建立新的連線。
一些AJAX應用使用上述技術-這經常是歸因於低資源利用。
試想一下,如果伺服器在早晨會自啟動並發送資料到那些希望接收而不用提前建立一些連接埠的客戶端,這是一件多棒的事情啊!歡迎來到PUSH技術的世界!
第一步:搞定WebSocket伺服器
這篇教學會把更多的精力放在客戶端的創建而不是伺服器端的執行等操作。
我使用基於windows 7的XAMPP來實現本地運行PHP。 phpwebsockets是PHP WebSocket伺服器。 (以我的經驗這個版本存在一些小問題,我已對它做了些修改並上傳源文件共享給大家)下面的這些不同版本也可以實現WebSocket,如果某個不能用,你可以試試其它版本或繼續看下面的教學。
jWebSocket (Java)
web-socket-ruby (ruby)
Socket IO-node (node.js)
啟動Apache伺服器