java - multiple - ¿Cómo puedo vincular serversocket con una IP específica?
socket tcp java (1)
Si tengo un String
representa una dirección IP (IPv4 o IPv6), ¿cómo puedo crear un ServerSocket
y vincularme a esta IP sin importar si el IP pasó, es IPv4 o IPv6?
Veo que hay un constructor: ServerSocket(int port, int backlog, InetAddress bindAddr)
pero InetAddress
no parece ofrecer ningún constructor y sus subclases tienen nombres específicos para IPv4 e IPv6.
Entonces, ¿cómo puedo unir el socket a la IP?
Puede usar el método de fábrica INetAddress.getByName
. Descubrirá qué subclase usar. Por ejemplo:
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);