我知道这个错误信息已被提出很多问题,但我找不到符合我情况的信息。下面我将向您展示服务器(node.js)和客户端代码。 socket.io.js文件包含在内并且肯定存在。
答案 0 :(得分:1)
如果您没有收听正确的端口,则会出现此问题。
服务器强>
var io = require('socket.io').listen(80);
io.sockets.on('connection', function (socket) {
socket.emit('news', { hello: 'world' });
socket.on('my other event', function (data) {
console.log(data);
});
});
<强>客户端强>
<script src="/socket.io/socket.io.js"></script>
<script>
var socket = io.connect('http://localhost:80');
socket.on('news', function (data) {
console.log(data);
socket.emit('my other event', { my: 'data' });
});
</script>
如果服务器和客户端没有侦听同一个端口,那么您将无法加载socket.io库,并且未定义io。我猜你在连接到不同的域时没有在客户端上指定端口。如果您使用express,则端口号应该是Express默认侦听的端口。