2012年7月4日

Node.js 筆記:Express 3.x + Socket.IO 版本升級異動

Socket.IO
Express 由 2.x 升級至 3.x 之後,建立 Server 的語法有些差異,3.x 的寫法是:

// Express web server
var app = express();

// ...

// Server Listen
http.createServer(app).listen(app.get('port'), function(){
    //log
});

目前 Sokcet.IO 與 Express 整合使用的範例,尚未針對 Express 3.x 的異動更新,所以舊的寫法並無法相容於 Express 3.x(開啟 /socket.io/socket.io.js 會出現 404 Error)。

var io = require('socket.io').listen(app);

解決方法是在 Express 的 .listen() 動作後,取得其回傳的 server 物件,再丟給 Socket.IO 使用。

var server = http.createServer(app).listen(app.get('port'), function(){
    //log
});

var io = require('socket.io').listen(server);

討論串:

更多關於 Node.js 的訊息,歡迎訂閱:
  1. http://nodejs.tw/
  2. http://facebook.com/nodejs.tw

沒有留言:

張貼留言

lyhcode by lyhcode
歡迎轉載,請務必註明出處!