まあ、私はこの質問がばかげたり繰り返されたりしないことを願っています。私はたくさんの研究とテストをしたことを約束します。
VPSに次のコードのサーバーがあります。
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');
}
}
そして、別のマシンのクライアント:
<script>
var socket = io.connect('http://[VPS Public IP]:8080');
io.emit('hello');
</script>
これは、プライベートIPアドレスと同じネットを使用する場合に機能します。パブリックIPを使用する場合、これは機能しません。なぜこれが起こっているのかについての考えはありますか?
ありがとうございました。
わかりました。さらにテストを行った後、自分の問題を修正しました。
VPSパブリックIP(XXX209)は、シリアルコンソールツールを使用してSSH(XXX221)経由で接続するために提供されるIPアドレスとは異なることに気付きました。
私の実際のパブリックIPが最初のIPであるとき、私はこの2番目のIPアドレスXXX221を使用していました。XXX209を使用すると、問題なく接続されました。
コメントやアイデアをありがとうございます。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加