我正在尝试通过Java程序连接到远程主机:
socket = new java.net.Socket(host,port);
我收到以下异常信息:
java.net.ConnectException: Connection refused: connect
跟踪我的计算机和远程主机之间的IP数据包,我发现我的计算机发送了三个SYN数据包,并分别收到了[RST,ACK]数据包。
尽管只建立了一个连接,为什么我的计算机会发送三个SYN数据包呢?
这是由于操作系统的TCP/IP协议栈引起的吗?
还是由于Java的实现中java.net.Socket类引起的?