0

この行にエラーがあります:

new ServerSocket(2106, 50, InetAddress.getByName("83.4.200.1"));

エラーログ:

Exception in thread "main" java.net.BindException: Cannot assign requested address: JVM_Bind

83.4.200.1私のIPです。そこに置く127.0.0.1192.168.1.2、同じポートを使用すると、すべてが完全に機能します。書き込みですべてのポートをチェックしましたnetstat -a -nが、2106がありません。

これを読んでくれてありがとう、私はあなたが私の問題で私を助けることができることを願っています

4

3 に答える 3

3

ルーターのアドレスは83.4.200.1です。これは、コンピュータが応答するアドレスではなく、内部ネットワークアドレスであることに注意することが重要です192.168.1.2。ルーターの外部からプログラムに接続する場合は、ルーターでポートフォワーディングを設定する必要が2106あります。

于 2012-07-11T18:17:10.113 に答える
1

1.インターネット経由でこのサーバーにアクセスする場合IP: "83.4.200.1" は、動的IPではなく静的IPである必要があります。

2.LAN内のPCに割り当てられているプラ​​イベートIPアドレスまたはパブリックIPアドレスを使用してこのコードを実行してみてください(ie. Without internet..JUST WITH WIRELESS CONNECTION).

3.プライベートIPまたはパブリックIPは、インターネットに接続するまでは意味がありません。それまでは、LANとして両方を使用できます。

4.プライベートIP範囲

クラスA: 10.0.0.0-10.0.0.255 クラスB: 172.16.0.0-172.31.255.255 クラスC: 192.168.0.0-192.168.255.255

5.パブリックは、プライベートIP範囲外のサービスプロバイダーによって提供されます。IPが静的でない場合、インターネット経由でサーバーにアクセスする機会はほとんどないか、まったくありません。動的IPから静的IPを提供するサイトがあります。

于 2012-07-11T18:54:02.587 に答える
1

83.4.200.1は私のIPです

ルーターのIPアドレスです。

コードを実行しているホストのIPアドレスではないため、バインドできません。そのホストのローカルアドレスにバインドし、ルーターからホストへのポート転送を調整する必要があります。ほとんどの場合、バインドアドレスは完全に省略してポートを指定するのが最適です。この場合、ソケットはすべてのローカルIPアドレスをリッスンします。

于 2012-07-12T00:21:11.877 に答える