3
まあ、私はこの質問が愚かでも繰り返しでもないことを願っています。私は多くを研究し、テストしたことを約束します。VPSのnode.jsサーバーに接続できません
<script>
var socket = io.connect('http://[VPS Public IP]:8080');
io.emit('hello');
</script>
プライベートIPアドレスとを使用している場合これは動作します:別のマシンで
var app = require('express')();
var server = require('http').Server(app);
var io = require('socket.io')(server);
server.listen(8080);
io.on('connection', function(socket) {
socket.on('hello', function() {
console.log('Hello received');
}
}
そしてクライアント:
私はこのコードで私のVPS上サーバーを持ってきました同じネット。パブリックIPを使用する場合、これは動作しません。これはなぜ起こっているのだろうか?
ありがとうございます。
ポートをブロックしているVPS上にファイアウォールがありますか?ノードバインドは0.0.0.0ですか? – dodecaphonic
Ubuntu 16.04で動作するVPSです。私はufw(Ubuntuのデフォルトのファイアウォール)を無効にしようとしましたが、私のVPSはそれをインストールしていないので、ファイアウォールはないと思います。私は正しい? server.listen(8080)をserver.listen(8080、 "0.0.0.0")に置き換えましたが、何も変更されていません。 –
コマンドで接続を確認する 'telnet VPS_Public_IP 8080' – Harikrishnan