正确使用 InetSocketAddress

Using InetSocketAddress correctly

我正在尝试使用属于 Java.net 的 InetSocketAddress。虽然当我尝试实际为它的周长提供数据时它不起作用。该文档实际上并未指定如何定义 IP 地址和端口。它声明如下: InetSocketAddress(InetAddress addr, int port) , addr 是IP地址。我试过以下方法:

InetSocketAddress("0.0.0.0", 0000)

InetSocketAddress(0.0.0.0, 0000)

InetSocketAddress(0.0.0.0:0000)

显然 none 这些工作(使用任意值),除了最后一个,端口工作因为它只是一个 int 但我无法弄清楚如何正确格式化 IP 地址。我为寻找解决方案而阅读的文档如下:

InetAddress

Inet4Address

InetSocketAddress

None 其中实际上有一个如何格式化 IP 地址的示例(当然除非我是盲人)。

InetSocketAddress 需要一个 InetAddress 对象作为第一个参数。所以你需要发送一个像这样的东西:

InetSocketAddress(InetAddress.getByName("0.0.0.0", 0))

我知道,getByName() 听起来不应该与 IP 地址一起使用,但它可以同时与地址或主机名一起使用。

你可以用这个。

InetSocketAddress address=new InetSocketAddress(InetAddress.getByName("0.0.0.0"),0000);

InetSocketAddress没有参数是Stringint构造函数