12

StringIP アドレス (IPv4 または IPv6) を表すがあるServerSocket場合、IP が渡されたかどうかを気にせずに、この IP を作成してバインドするにはどうすればよいですか? IPv4 または IPv6 ですか?
コンストラクターがあることがわかりましたが、コンストラクターを提供してServerSocket(int port, int backlog, InetAddress bindAddr)InetAddressないようで、そのサブクラスには IPv4 および IPv6 に固有の名前があります。
では、ソケットを IP にバインドするにはどうすればよいでしょうか。

4

1 に答える 1

33

ファクトリ メソッドを使用できますINetAddress.getByName。どのサブクラスを使用するかを判断します。例えば:

InetAddress addr = InetAddress.getByName("127.0.0.1");
// or
InetAddress addr = InetAddress.getByName("::1");

// and now you can pass it to your socket-constructor
ServerSocket sock = new ServerSocket(1234, 50, addr);
于 2013-02-20T09:58:16.183 に答える