【问题标题】:Using InetSocketAddress correctly正确使用 InetSocketAddress
【发布时间】:2016-07-21 23:23:39
【问题描述】:

我正在尝试使用属于 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)

显然这些都不起作用(使用任意值),除了最后一个,端口都起作用,因为它只是一个 int 但我不知道如何正确格式化 IP 地址。我在寻找解决方案时阅读的文档如下:

InetAddress

Inet4Address

InetSocketAddress

这些实际上都没有如何格式化 IP 地址的示例(当然,除非我是盲人)。

【问题讨论】:

  • 正确拼写将是一个好的开始。端口号的前导零将其转换为八进制基数。

标签: java inetaddress


【解决方案1】:

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

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

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

【讨论】:

  • 这就是连接点的链接!非常感谢,@MarkOlsson
【解决方案2】:

你可以用这个。

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

InetSocketAddress没有参数是Stringint构造函数

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-08-14
    • 2021-08-27
    • 1970-01-01
    • 1970-01-01
    • 2018-11-03
    • 1970-01-01
    • 1970-01-01
    • 2012-08-18
    相关资源
    最近更新 更多