|
什么是WebSockets?
WebSockets是在一個(TCP)接口進行雙向通信的技術(shù),PUSH技術(shù)類型。同時WebSockets仍將基于W3C標(biāo)準(zhǔn),目前為止,Chrome和Safari的最新版本瀏覽器已經(jīng)支持WebSockets了。
WebSockets將會替代什么?
WebSockets可以替代Long Polling(php服務(wù)端推送技術(shù)),這是一個有趣的概念。客戶端發(fā)送一個請求到服務(wù)器,現(xiàn)在,服務(wù)器端并不會響應(yīng)還沒準(zhǔn)備好的數(shù)據(jù),它會保持連接的打開狀態(tài)直到最新的數(shù)據(jù)準(zhǔn)備就緒發(fā)送,之后客戶端收到數(shù)據(jù),然后發(fā)送另一個請求。這有它的好處:減少任一連接的延遲,當(dāng)一個連接已經(jīng)打開時就不需要創(chuàng)建另一個新的連接。但是Long-Polling并不是什么花俏技術(shù),他仍有可能發(fā)生請求暫停,因此會需要建立新的連接。
一些AJAX應(yīng)用使用上述技術(shù)-這經(jīng)常是歸因于低資源利用。
試想一下,如果服務(wù)器在早晨會自啟動并發(fā)送數(shù)據(jù)到那些希望接收而不用提前建立一些連接端口的客戶端,這是一件多棒的事情啊!歡迎來到PUSH技術(shù)的世界!
第一步:搞定WebSocket服務(wù)器
這篇教程會把更多的精力放在客戶端的創(chuàng)建而不是服務(wù)器端的執(zhí)行等操作。
我使用基于windows 7的XAMPP來實現(xiàn)本地運行php。phpwebsockets是php WebSocket服務(wù)器。(以我的經(jīng)驗這個版本存在一些小問題,我已對它做了些修改并上傳源文件共享給大家)下面的這些不同版本也可以實現(xiàn)WebSocket,如果某個不能用,你可以試試其它版本或者繼續(xù)看下面的教程。
- jWebSocket (Java)
- web-socket-ruby(ruby)
- Socket IO-node (node.js)
啟動Apache服務(wù)器
第二步:修改URLs和端口
根據(jù)你之前的安裝修改服務(wù)器,下面是setup.class.php中的例子:
1 public function _construct($host='localhost',$port=8000,$max=100)
2 {
3 $this->createSocket($host,$port);
4 }
it知識庫:HTML5 WebSockets 基礎(chǔ)使用教程,轉(zhuǎn)載需保留來源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。