从主机名和端口构造InetSocketAddress在开头添加斜杠

时间:2016-10-04 06:42:34

标签: java sockets

我想连接到套接字,从属性文件中读取主机名和端口号。我尝试创建InetSocketAddress的新实例以将其传递给socket.connect方法,但它往往会在开头添加斜杠,因此它看起来像"/127.0.0.1"。我没有使用任何toString()。无论我通过"localhost""127.0.0.1"还是新InetAddress(host, port)addr内的字段InetSocketAddress都会设置为"/127.0.0.1"。这导致UnknownHostException。 是否有一种优雅的方法来解析套接字连接的主机地址,而无需修剪第一个字符或使用除javax.net之外的其他库?

提前谢谢

我用过的例子:

socket.connect(new InetSocketAddress(InetAddress.getByName("localhost").getHostAddress(), 1234), timeout);

socket.connect(new InetSocketAddress("localhost", 1234), timeout);

socket.connect(new InetSocketAddress("127.0.0.1", 1234), timeout);

所有这些都产生socket addr =“\ 127.0.0.1”

0 个答案:

没有答案