WebSocket 是定義在 HTML5 標準中的一個新的網頁傳輸方式,可在一條連線上提供全雙工、雙向的資料傳輸,在這樣的標準下你可以很容易實作一個兼具可擴充性與即時性的網頁應用程式。另外因為 WebSocket 提供瀏覽器一個原生(native)的 socket,所以直接解決了 Comet 架構很容易出錯的問題,而在整個架構的複雜度上也會比傳統的做法簡單很多。
nginx 在 v1.4 版以後就內建了 websocket 的support. 所以我們只要安裝必要的套件...就可以使用了
實作程序:
1. 安裝 nodejs 跟 npm 套件
# yum install nodejs npm
2. 切換到 /var/www/html
# cd /var/www/html
3. To install ws, run the following command:
# npm install ws
這時會生成一個目錄 node_modules
到這邊就裝好囉...那要怎麼應用呢?可以從附件下載一個Sample的聊天室程式
上傳到 /var/www/html/node_modules/ws/
# tar zxvf websocket.Sample.tar.gz
修改 server.php 將紅色字眼改成你的主機IP
引用:
$sk=new Sock('11.22.33.44',8010);
修改 index.html 將紅色字眼改成你的主機IP
引用:
var url='ws://11.22.33.44:8010';
再來執行
# php server.php
這時在系統就會 Listen 8010 Port . 這是websocket 建立的溝通協定...
然後將你的 nginx 預設路徑改到 /var/www/html/node_modules/ws/
打開Browser
http://11.22.33.44/websocket.Sample/就會看到一個聊天室的畫面囉~~