0

我知道有几个关于同一个问题的问题,我已经检查过了。

我有非常简单的 node.js 聊天应用程序

我有一个在 8000 端口上运行的服务器,它工作正常

我的客户端页面是 html ,它们在 apache 上运行,我正在使用 socket.io 将它们连接到服务器,它在本地主机上运行良好

但是当我在服务器上上传应用程序时,我不断在萤火虫中收到这个错误

io is not defined
var socket = io.connect('http://atenak.com:8000/');

或者有时它没有显示,但是当我尝试从客户端广播消息时,我收到此错误:

socket is undefined
socket.emit('msg', { data: msg , user:'max' });

唯一的区别是我用 atenak.com 更改了本地主机!

这是我的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
4

3 回答 3

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)是可访问的(例如端口未被防火墙阻止等)。

于 2012-07-07T22:08:57.763 回答
2

根据以下链接,您的主机上似乎未打开端口 8000

atenak.com 的反向 ip 检查开放端口检查

于 2012-07-08T04:11:20.523 回答
1

Socket.io 需要一个 javascript 文件,而该文件无法正确加载。

这是网址:http ://atenak.com:8000/socket.io/socket.io.js

在这个文件中定义了îo对象。

于 2012-07-07T22:09:23.917 回答