如果我有一个表示IP地址(IPv4或IPv6)的String
,我如何创建一个ServerSocket
并绑定到这个IP,而不关心传入的IP是IPv4还是IPv6?
我看到有一个构造函数:ServerSocket(int port, int backlog, InetAddress bindAddr)
,但是InetAddress
似乎没有提供任何构造函数,其子类具有特定于IPv4和IPv6的名称。
那么我该如何将套接字绑定到IP呢?
如果我有一个表示IP地址(IPv4或IPv6)的String
,我如何创建一个ServerSocket
并绑定到这个IP,而不关心传入的IP是IPv4还是IPv6?
我看到有一个构造函数:ServerSocket(int port, int backlog, InetAddress bindAddr)
,但是InetAddress
似乎没有提供任何构造函数,其子类具有特定于IPv4和IPv6的名称。
那么我该如何将套接字绑定到IP呢?
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);
0
作为 backlog 将使用默认值。 - kapexnetstat -letW
显示生成一个IPv6服务器。 - undefined