2

私はexpressを使用して、socket.ioと通信するexpressで静的ページを提供しようとしています。私は問題の後に問題にぶつかり続けます。私は非常に多くのことをし、何度もグーグルで検索したので、特定の問題に対する答えが見つからなかったとは信じられません。私はあなたにサーバーを見せたり、あなたにクライアントを見せたりする場所に出くわし続けますが、それと通信する他の場所には出くわしません。または両方ですが、エクスプレスではありません。Expressをミックスに投入すると、404が取得され始め、socket.ioクライアントスクリプトを移動しますが、それでも機能しないようです。これは私が今いるところですが、これは私の20番目の構成についてです。

サーバ:

var express = require('express');
var app = express();
var http = require('http');
var server = http.createServer(app);
var io = require('socket.io').listen(server);

app.configure(function () {
    app.use(express.static('html'));
});

app.listen(8080);

io.sockets.on('connection', function (socket) {
    console.log('A socket connected!');
}); 

クライアント:

<script src="/socket.io/socket.io.js"></script>
<script>
  var socket = io.connect('http://localhost:8080');
  socket.send('testing');
</script>

srcを/html/socket.io.jsに変更して(そして必要なすべてのファイルをdistディレクトリから/ htmlにコピーして)、htmlディレクトリにscriptsディレクトリを作成して、socket.ioのcdnにリンクしてみました。 404を取得し続けます。私がめちゃくちゃにしているのは愚かで単純なことだと私は知っています、私は私の人生のためにそれを理解することができません。ありがとう!

編集:私が今やりたいのは、index.htmlページを提供し、接続が確認されたらサーバーコンソールに出力することだけです。

4

1 に答える 1

8

ここからの例を見てください。app.listenに変更することで、Express3で動作するようになりましたserver.listen。socket.ioが設定するルーティングはhttpサーバーに固有であり、エクスプレスルーティングメカニズムを使用していないと思います。

于 2012-11-15T21:45:01.517 に答える