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