0

ねえ、私はちょうどnode.jsをいじり始めたばかりで、完全な初心者です。私はsocket.ioとexpressを使用して単純なクライアントサーバー通信を行おうとしています(これらを使用したことはありません)。

アプリ(app.js)のコードは次のとおりです。

var     sys         = require('sys'),
        express     = require('express'),

        app         = express('localhost');
        http    = require('http'),
        server  = http.createServer(app),

        io          = require('socket.io').listen(server);

app.use(express.static(__dirname + '/public'));

app.get('/', function (req, res) {
    res.send('Hello World');
});

app.listen(3000);

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

socket.on('connection', function (client){ 
  // new client is here!
  setTimeout(function () {
        client.send('Waited two seconds!');
    }, 2000);

  client.on('message', function () {
  }) ;

  client.on('disconnect', function () {
  });
});

そして、これがクライアント(client.html)の私のコードです:

<html>
<p id="text">socket.io</p>

<script src="/socket.io/socket.io.js"></script> 


<script> 
    $(document).ready(function(){

        var socket  = new io.Socket(),
                text        = $('#text');

        socket.connect();

        socket.on('connect', function () {
            text.html('connected');
        });

        socket.on('message', function (msg) {
            text.html(msg);
        });

        socket.on('disconnect', function () {
            text.html('disconnected');
        });

    });
</script> 

コードのほとんどは NodeJS + socket.io: 単純なクライアント/サーバーの例が機能しない

Express 3.xと互換性があるように変更しました

ただし、サーバーを実行し、クロムを使用してクライアントを開くと、リソースファイルを読み込めないことがわかります::///socket.io/socket.io.js

私はすでにnpmを使用してexpressとsocket.ioをインストールしています

また、少なくとも20の同様の投稿を読みましたが、答えを見つけることができませんでした

私を助けてください。ありがとうございました

4

2 に答える 2

2

socket.io.js ファイルは、localhost:3000 のようにポート 3000 から提供する必要があります。だからここにあなたがするものがあり <script src="/socket.io/socket.io.js"></script>ます

<script src="http://localhost:3000/socket.io/socket.io.js"></script>
于 2013-03-22T09:15:19.660 に答える
0

client.html ページをローカル ファイル システムから直接開いていますか? socket.io.js のリクエストは、 not のように見えるはずhttp://localhost/socket.io/socket.io.jsですfile:///socket.io/socket.io.js

于 2013-03-22T02:54:59.357 に答える