2016-04-15 26 views
0

Javaでシンプルなクライアント/サーバアプリで遊んでいます。 私は2台のコンピュータを持っています。第1のもの(サーバー)はubuntuにあり、第2のものはwindows8(クライアント)です。 両方のマシンが同じネット、同じルータに接続されています。 私は「短い」IPを介してクライアント上のソケットを作成する - このパブリックIP経由でサーバにアクセスできない理由

  socket = new Socket(InetAddress.getByName("192.168.1.7"),4444); 

のように、それがうまく機能しない - 何の問題。

 socket = new Socket(InetAddress.getByName("95.188.199.188"),4444); 

パブリックIPを使用する(私は理解して) - しかし、私はこのように行うしようとしていたとき。後者は動作しません。 ファイアウォールがオフになっています。 問題は何ですか?

+1

ルーターでポート転送をセットアップしましたか? –

+0

そうしようとする – kurumkan

答えて

4

内部ネットワーク内にある場合は、パブリックIPを使用できないためです。

これは、通常、ルータのデフォルト設定が原因です。 ルータはパブリックIPを使用して「内部」要求を解決しません。

+0

ok私は私の友人に私の "サーバ"に接続するように頼むでしょう。それが動作することを願っています。ありがとうございます – kurumkan

+0

私はシステムの男ではありませんが、可能にするためにあなたのルータの設定を変更することができます... – Nirekin

0

0.0.0.0を試してください。そのすべての利用可能なインターフェイス。

2

ファイアウォールに関係なく、インターネットにはローカルマシンではなくルーターが常に表示されます。目的のポートを正しいローカルマシンに転送するようにルータを設定する必要があります。