Android 为什么“78.137.18”没有被拒绝为无效IP地址?
当我的android程序在套接字的异常块中发生异常时,我试图打印一些东西 但是,即使我给出了一个无效的ip地址,我的异常也不会被调用Android 为什么“78.137.18”没有被拒绝为无效IP地址?,android,sockets,exception,exception-handling,Android,Sockets,Exception,Exception Handling,当我的android程序在套接字的异常块中发生异常时,我试图打印一些东西 但是,即使我给出了一个无效的ip地址,我的异常也不会被调用 try{ SocketAddress socketAddress = new InetSocketAddress("78.137.18" , 8364); } catch (Exception e) { System.out.println("ERROR"); } 这实际上
try{
SocketAddress socketAddress = new InetSocketAddress("78.137.18" , 8364);
}
catch (Exception e)
{
System.out.println("ERROR");
}
这实际上是一个有效的IP地址
mslade@mickpc:~$ perl -nle 'use Socket; print inet_ntoa(inet_aton($_))'
78.137.18
78.137.0.18
InetSocketAddress的构造函数也将接受主机名
如果您想明确拒绝这些地址,但您确定吗?然后您必须编写代码来检查地址字符串,可能需要使用正则表达式。这实际上是一个有效的IP地址
mslade@mickpc:~$ perl -nle 'use Socket; print inet_ntoa(inet_aton($_))'
78.137.18
78.137.0.18
InetSocketAddress的构造函数也将接受主机名
如果您想明确拒绝这些地址,但您确定吗?然后,您必须编写代码来检查地址字符串,可能需要使用正则表达式。InetSocketAddress创建一个表示套接字地址的对象。它会将主机名解析为IP地址,但不会连接或绑定到指定的地址。这就是为什么您没有得到异常。该地址语法正确,从未尝试连接,因此没有理由引发异常。InetSocketAddress创建一个表示套接字地址的对象。它会将主机名解析为IP地址,但不会连接或绑定到指定的地址。这就是为什么您没有得到异常。该地址语法正确,并且从未尝试连接,因此没有理由抛出异常。我正在尝试连接到一个我确信已关闭的IP地址。不过,没有调用异常。你有什么想法吗?我正在尝试连接到一个IP地址,我确信它已关闭。不过,没有调用异常。你有什么想法吗?我试着联系,但还是没有例外。但现在,我通过一个timeoutException解决了这个问题。我尝试连接,但仍然没有得到异常。但是现在,我通过一个timeoutException解决了这个问题。