今天我來實作一個簡單的聊天室,後台用nodejs, 客戶端與服務端通訊用socket.io,這是一個比較成熟的websocket框架.
初始工作
1.安裝express, 用這個來託管socket.io,以及靜態頁面,命令npm install express --save,--save可以使套件添加到package.json檔案裡.
2.安裝socket.io,指令npm install socket.io --save.
寫服務端程式碼
首先我們透過express來託管網站,並附加到socket.io實例裡,因為socket.io初次連線需要http協定
var app = express();
app.use(express.static(__dirname));
var server = app.listen(8888);
var ws = io.listen(server);
寫客服端程式碼
由於服務端採用第三方websokcet框架,所以前端頁面需要單獨引用socket.io客戶端程式碼,原始檔可以從socket.io模組裡找,windows下路徑為node_modulessocket.ionode_modulessocket.io-clientdist,這裡有開發版和壓縮版的,預設引用開發版就行.前端主要處理輸入暱稱檢查,訊息處理,完整程式碼如下: