1

シンプルな NodeJS - socket.io Web アプリケーションをセットアップしようとしています。

Raspberry pi に NodeJS と Socket.io をインストールしましたが、問題なくサーバー スクリプトを開始できます。

フロントエンド スクリプトにロードしているクライアント socket.io をダウンロードしました。

私の問題は、サーバーに接続しようとするたびに、ブラウザでこれらのエラーが表示されることです。

Error: failed to require "socket.io" from "root"
...plete}}});require.register("learnboost-engine.io-client/lib/transports/websocket...

socket.io.js (linje 1)
ReferenceError: io is not defined

var socket = io.connect('http://192.168.0.105:8888');

これがサーバースクリプトです。

var io = require('socket.io').listen(8888);

io.sockets.on('connection', function (socket) {
  socket.emit('news', { hello: 'world' });
  socket.on('my other event', function (data) {
    console.log(data);
  });
});
console.log('Running fine');

これが私のフロントエンドスクリプトです。

<!--<script src="localhost:8080/socket.io/socket.io.js"></script>-->
<script src="/socket.io/socket.io.js"></script>
<script>
    var socket = io.connect('http://192.168.0.105:8888');
    socket.on('news', function (data) {
      console.log(data);
      socket.emit('my other event', { my: 'data' });
    });           
</script>

私の Raspberry pi は nodejs - socket.io をホストしており、ウェブサイトは Wampserver を備えたメイン コンピューターでホストされています。

誰かが私を助けてくれることを本当に願っています:) よろしくお願いします。

4

2 に答える 2

2

Socket.io.js は NodeJS サーバーによってホストされているため、接続する必要があります。

<script src="192.168.0.105:8888/socket.io/socket.io.js"></script>

http://192.168.0.105:8888http はポート 80 を使用することを意味します192.168.0.105:8888。代わりに使用する必要があります。

于 2013-07-09T10:42:44.817 に答える
0

ここで言う

var socket = io()

デフォルトでホストサーバーに接続します。つまり、そこに何も入れる必要はありません

http://socket.io/get-started/chat/

于 2014-12-22T20:03:41.373 に答える