0

同じ問題についていくつかの質問があったことは知っています。すでに確認しました。

私は非常にシンプルなnode.jsチャットアプリを持っています

8000 ポートで実行されているサーバーがあり、正常に動作します

私のクライアントページはhtmlで、Apacheで実行されており、socket.ioを使用してサーバーに接続していますが、ローカルホストで正常に動作します

しかし、サーバーにアプリをアップロードすると、firebugでこのエラーが発生し続けます

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

または時々それが表示されませんが、クライアントからメッセージをブロードキャストしようとすると、次のエラーが発生します:

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

唯一の違いは、localhost を 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 ファイルが必要ですが、このファイルは正しく読み込まれません。

URL は次のとおりです: http://atenak.com:8000/socket.io/socket.io.js

このファイルでは、îoオブジェクトが定義されています。

于 2012-07-07T22:09:23.917 に答える