我知道关于同样的问题有几个问题,我已经检查了它们。
我有一个非常简单的node.js聊天应用程序
我有一个服务器在8000端口上运行,它工作正常
我的客户端页面是html,它们在apache上运行,我使用socket.io将它们连接到服务器,它在本地主机上工作正常
但是当我在服务器上传应用程序时,我继续在firebug中收到此错误
io is not defined
var socket = io.connect('http://atenak.com:8000/');
或有时它没有显示,但当我尝试从cliend广播消息时,我收到此错误:
socket is undefined
socket.emit('msg', { data: msg , user:'max' });
唯一的区别是我用atenak.com更改了localhost!
这是我的HTML代码
var socket = io.connect('http://atenak.com:8000/');
var user = 'jack';
socket.on('newmsg', function (data) {
if(data.user == user )
{
$('#container').html(data.data);
}
});
function brodcast(){
var msg = $('#fild').val();
socket.emit('msg', { data: msg , user:'max' });
}
</script>
</head>
<body>
<div id="container"> </div>
<input id="fild" type="text"> <input name="" type="button" onClick="brodcast();">
</body>
我已经加入了sockt.io.js
src="http://atenak.com:8000/socket.io/socket.io.js"
并且服务器运行正常,这意味着在服务器上安装了socket.io
这是实况页面
http://atenak.com/client.html
答案 0 :(得分:2)
我得到了:
> Uncaught ReferenceError: io is not defined client.html:7
x GET http://atenak.com:8000/socket.io/socket.io.js
表示您的网页无法加载http://atenak.com:8000/socket.io/socket.io.js
;实际上,如果您尝试在浏览器中加载该URL,则会出现连接错误。确保您的Node.js服务器(运行Socket.IO)可以访问(例如,端口未被防火墙阻止等)。
答案 1 :(得分:2)
根据以下链接
,主机上的端口8000未打开答案 2 :(得分:1)
Socket.io需要一个javascript文件,此文件无法正确加载。
以下是网址:http://atenak.com:8000/socket.io/socket.io.js
在此文件中定义了îo
对象。