这是我的代码的NodeJS:有什么问题我简单的NodeJS代码
var io = require('socket.io').listen(8011);
io.sockets.on('connection', function (socket) {
socket.emit('news', { hello: 'world' });
socket.on('my other event', function (data) {
console.log(data);
});
});
和客户端HTML是:
<script src="/socket.io/socket.io.js"></script>
<script>
var socket = io.connect('http://localhost');
socket.on('news', function (data) {
console.log(data);
socket.emit('my other event', { my: 'data' });
});
</script>
当我使用节点a.js运行它,我得到的以下错误:
node.js:134
throw e; // process.nextTick error, or 'error' event on first tick
^
TypeError: Object 8011 has no method 'listeners'
at new <anonymous> (/home/zjm1126/node_modules/socket.io/lib/socket.io/listener.js:29:31)
at Object.listen (/home/zjm1126/node_modules/socket.io/lib/socket.io/index.js:11:10)
at Object.<anonymous> (/home/zjm1126/桌面/app/a.js:1:93)
at Module._compile (module.js:407:26)
at Object..js (module.js:413:10)
at Module.load (module.js:339:31)
at Function._load (module.js:298:12)
at Array.<anonymous> (module.js:426:10)
at EventEmitter._tickCallback (node.js:126:26)
但这是http://socket.io/演示代码,为什么会出现这个错误?
更新:
当我运行npm update socket.io
,在服务器端运行
,但客户端给出了这样的错误:
io is not defined
var socket = io.connect('http://localhost:8011');
有什么不对呢?
你使用的是socket.io 0.7或socket.io 0.6吗?使用'npm update socket.io'来更新到最新版本。 – Raynos
非常感谢~~ – zjm1126
嗨@Raynos,看看更新。 – zjm1126