4
繼示例here並且遇到麻煩。Node.js w/socket.io:TypeError:Obj在新管理器中沒有方法'on'
我npm install socket.io
安裝socketIO當我運行node server.js
出現以下異常:
node.js:134
throw e; // process.nextTick error, or 'error' event on first tick
^
TypeError: Object #<Object> has no method 'on'
at new Manager (/Users/x/nodeprojects/cloudnode/node_modules/socket.io/lib/manager.js:97:10)
at Object.listen (/Users/x/nodeprojects/cloudnode/node_modules/socket.io/lib/socket.io.js:71:10)
at Object.<anonymous> (/Users/x/nodeprojects/cloudnode/sky/server.js:12:26)
at Module._compile (module.js:402:26)
at Object..js (module.js:408:10)
at Module.load (module.js:334:31)
at Function._load (module.js:293:12)
at Array.<anonymous> (module.js:421:10)
at EventEmitter._tickCallback (node.js:126:26)
server.js:
var static = require('./plugins/node-static');
var socketIO = require('socket.io');
var clientFiles = new static.Server('./client');
var httpServer = require('http');
httpServer.createServer(function (request, response) {
request.addListener('end', function() {
clientFiles.serve(request, response);
});
}).listen(8253);
var webSocket = socketIO.listen(httpServer);
webSocket.on('connection', function(client) {
client.send('Please enter a user name ...');
var userName;
client.on('message', function(message) {
if(!userName) {
userName = message;
webSocket.broadcast(message + ' has entered the zone.');
return;
}
var broadcastMessage = userName + ': ' + message;
webSocket.broadcast(broadcastMessage);
});
client.on('disconnect', function() {
var broadcastMessage = userName + ' has left the zone.';
webSocket.broadcast(broadcastMessage);
});
});
我跑節點U 0.4.10 任何人都有一個解決方案的想法?
這是真的。但我改變了這一點,錯誤仍然是一樣的,它抱怨管理器對象! – 2011-12-24 07:03:46
哦,我明白了。糾正了我的答案。 – fent 2011-12-24 10:17:18