Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/391.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 从主机名和端口构造InetSocketAddress在开头添加斜杠_Java_Sockets - Fatal编程技术网

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

Java 从主机名和端口构造InetSocketAddress在开头添加斜杠,java,sockets,Java,Sockets,我想连接到一个套接字,从属性文件中读取主机名和端口号。我尝试创建InetSocketAddress的新实例,将其传递给socket.connect方法,但它倾向于在开头添加斜杠,因此它看起来像“/127.0.0.1”。我没有使用任何toString()。无论我传递的是“localhost”或“127.0.0.1”还是新的InetAddress(主机、端口)内部InetSocketAddress字段都设置为“/127.0.0.1”。这会导致未知后异常。 有没有一种优雅的方法来解析套接字连接的主机地

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

先谢谢你

我用过的例子有:

socket.connect(新的InetSocketAddress(InetAddress.getByName(“localhost”).getHostAddress(),1234),超时)

socket.connect(新的InetSocketAddress(“localhost”,1234),超时)

socket.connect(新的InetSocketAddress(“127.0.0.1”,1234),超时)


它们都会生成套接字addr=“\127.0.0.1”

,仅用于
toString()
的结果,该结果在内部未使用。这里没有要解决的问题。@EJP感谢您的评论。有趣的是,如果在尝试连接套接字时有
catch(UnknownHostException uhe)
语句,那么它会被捕获,因为开头的斜杠(我想是这样),但是如果我对它进行注释,那么一切都会正常。这可能是我的错,因为InetSocketAddress类在内部处理它。我说的对吗?你能不能用一块手表在插座上打破它。。。?它将证明或反驳ToString是一个因素。实际上,看起来您已经这样做了。只是由于
toString()
的结果,它在内部没有使用。这里没有要解决的问题。@EJP感谢您的评论。有趣的是,如果在尝试连接套接字时有
catch(UnknownHostException uhe)
语句,那么它会被捕获,因为开头的斜杠(我想是这样),但是如果我对它进行注释,那么一切都会正常。这可能是我的错,因为InetSocketAddress类在内部处理它。我说的对吗?你能不能用一块手表在插座上打破它。。。?它将证明或反驳ToString是一个因素。看起来你已经这么做了。