连接到服务器时出错:未定义套接字io

时间:2012-07-07 21:03:54

标签: javascript node.js socket.io

我知道关于同样的问题有几个问题,我已经检查了它们。

我有一个非常简单的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

3 个答案:

答案 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未打开

Reverse ip check for atenak.comOpen port check

答案 2 :(得分:1)

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

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

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

相关问题