据我了解,套接字连接超时是由TCP传输控制的,它使用重新传输超时(RTO)来控制。如果确认信息在计时器到期之前未返回,则连接请求(同步)将被重新传输,并且RTO将加倍。
因此,在Java套接字中调用
因此,在Java套接字中调用
Socket.connect(endpoint, connectTimeout)
时,连接超时的功能是什么?Socket.connect(endpoint, connectTimeout)
时,连接超时的功能是什么?当我们调用Socket.connect(endpoint, connectTimeout)时,连接超时在Java socket中的功能是什么?
它设置了建立连接的总超时时间;也就是说,它规定了应用程序在放弃之前愿意等待数据包级超时、重传等操作是否成功的时间。
换句话说,它决定了应用程序在多长时间内能够建立连接。
Socket.connect(...)
的 javadoc 中有说明。重试次数和时间间隔取决于操作系统实现的 TCP/IP,Java 既不提供查找这些值的方法,也不提供更改这些值的方式。(也没有必要这样做。) - Stephen C