這是我的代碼的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