2

私は、Javaネットワーキングを学ぶ方法として、有名で優れたKnockKnockサーバーのチュートリアルを使用しました。socket.getInetAddress()を使用して接続されたクライアントのIPアドレスを見つけようとしましたが、おそらく接続がそこでバウンスしているため、ルーターのIP192.168.1.254が常に返されます。tcpソケットに接続されているリモートクライアントの正しいIPを取得する方法はありますか?

4

1 に答える 1

4

これを試して:

ServerSocket sSock;
Socket cSock;

sSock = new ServerSocket(port_number);
cSock = sSock.accept();
System.out.println(cSock.getRemoteSocketAddress()+" connected\n");

次のように、接続されたクライアントのソケットアドレス全体を出力します。

/127.0.0.1:1878 接続済み

于 2012-04-24T03:46:15.197 に答える