Socket.io和快速设置

时间:2014-06-28 14:33:35

标签: node.js express socket.io-1.0

我' m尝试socket.io剪切和粘贴他们提供的确切代码我有一个错误!我在windows8和node v0.10.26上运行的任何想法?

var io = require('socket.io')(server);
                         ^
TypeError: object is not a function
at Object.<anonymous> (c:\Users\david wilson\TravelShopOffers\app_socketio:3:30)
at Module._compile (module.js:456:26)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Function.Module.runMain (module.js:497:10)
at startup (node.js:119:16)
at node.js:902:3

以下是其网站上的代码:

与Express结合使用

从3.0开始,快速应用程序已成为传递给http或http服务器实例的请求处理函数。您需要将服务器传递给socket.io,而不是快速应用程序函数。

var app = require('express')();
var server = require('http').Server(app);
var io = require('socket.io')(server);   
io.on('connection', function(){ /* … */ });
server.listen(3000);

1 个答案:

答案 0 :(得分:1)

不会是最好的答案,因为我几天前刚刚发现并试验了express / socket.io。 无论如何,我想出了以下内容(对反馈感兴趣):

var app = require('express')();
var server = app.listen(3000);

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

io.sockets.on('connection', function(socket)
   {
     socket.on('myEvent',function(){ /* … */ });
   }
);

希望这会有所帮助