Java connect(本地主机)引发异常,connect(专用地址)块
以下代码在我尝试使用localhost 172.0.0.1运行它时引发异常:java.net.ConnectException:Connection拒绝:connectJava connect(本地主机)引发异常,connect(专用地址)块,java,eclipse,sockets,nio,connect,Java,Eclipse,Sockets,Nio,Connect,以下代码在我尝试使用localhost 172.0.0.1运行它时引发异常:java.net.ConnectException:Connection拒绝:connect channel = SocketChannel.open(); //172.0.0.1 is a non-existing server channel.connect(new InetSocketAddress("172.0.0.1", 4342)); 但是,以下代码会一直阻塞,直到我使用专用地址运行它时超时: chann
channel = SocketChannel.open();
//172.0.0.1 is a non-existing server
channel.connect(new InetSocketAddress("172.0.0.1", 4342));
但是,以下代码会一直阻塞,直到我使用专用地址运行它时超时:
channel = SocketChannel.open();
//192.168.0.1 is a non-existing server
channel.connect(new InetSocketAddress("192.168.0.1", 4342));
我想问一下,为什么连接到本地主机会导致connect抛出异常,而连接到专用地址会被阻止
我问这个问题是因为我希望connect()在启动localhost服务器时被阻塞,而connect()会在服务器启动时自动连接到服务器 有没有办法使connect()阻塞本地主机地址
谢谢!连接被拒绝意味着目标服务器主动拒绝连接,因为没有服务器侦听该端口 当客户端没有收到来自服务器的响应时发生超时,例如服务器根本不存在,流量被防火墙阻止等
当端口被占用时,没有什么比尝试连接并向我发送响应更好的了。您必须在客户端执行重试。为什么?因为在您的网络环境中,这是正确的做法。我之所以这样做,是因为我希望在启动localhost服务器时connect()会被阻止,并且connect()会在服务器启动时自动连接到服务器。有没有办法使connect()阻塞本地主机地址?192.0.0.1不是私有的,它和172.0.0.1都不是本地主机。