1

そこで、最近 PeerJS アプリを heroku にデプロイしました。次のような PeerJSserver のインスタンスを作成しました: (github ページに記載されているとおり)

// determining the port
var port = Number(process.env.PORT || '3000');

var server = app.listen(port, function() {
    console.log('Server is running on port ' + port);
});

// peerjs server setup
var peerServer = ExpressPeerServer(server);
app.use('/app', peerServer);
peerServer.on('connection', function(id) { console.log(id); });

クライアント側では、次のようにこのサーバーに接続します。

<script>
    var peer = new Peer('someid', {host: '/', port: 9000, path: '/app'});
</script>

問題:
つまり、heroku がアプリを実行するポートをランダムに決定することは既にご存じでしょう。ログを確認すると、サーバーが実行されているポートを確認できます。では、クライアント側でポートを特定するにはどうすればよいでしょうか? オブジェクトコンストラクターにポートを与えないようにしましたが、自動的に9000のポートが与えられます(これがデフォルトだと思います)。

では、サーバーにクエリを実行してそのポートを特定する必要がありますか? または、より良い代替手段はありますか?

4

1 に答える 1

1

私がしなければならなかったのは:

var peer = new Peer({host: '/', port: '', path: '/app'});

それが役に立てば幸い :)

于 2016-09-12T11:40:52.980 に答える