java - 如何覆盖系统默认的 TCP 超时

标签 java sockets tcp

我正在使用基于 JDK 1.4 的旧库,我发现尝试连接到不存在的 URL 时会出现巨大的超时。调查发现了下一个问题:

在 JDK 1.5 之前,没有针对 URLConnection 对象的连接超时设置。相反,它会简单地使用 TCP 超时的默认操作系统级别超时值(默认情况下恰好是 1800 秒/30 分钟)。 JDK1.5 及更高版本包含设置自定义超时的选项,该选项会覆盖操作系统提供的默认设置。

是否可以从 java 覆盖“TCP 超时操作系统设置”,以便在 java 1.4 上编写的代码使用此设置?

最佳答案

您需要调用系统命令来更改您计算机上的设置

  • 您需要是 root 或具有 sudo 访问权限
  • 它会针对每个程序进行更改
  • 您需要了解您支持的每个平台的具体情况。

或者您可以升级到 Java 7。甚至 Java 6 也已经结束了。

关于java - 如何覆盖系统默认的 TCP 超时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17963209/

相关文章:

java - 使用带内部连接池的 eclipselink 出现网络错误

tcp - 当我用 netty 实现 gpsd tcp feed 时我做错了什么?

c++ - NtDeviceIoControlFile(查询 IP 地址条目)- STATUS_INVALID_DEVICE_REQUEST

java - 错误 :0D0680A8:asn1 encoding routines:ASN1_CHECK_TLEN:wrong tag when importing RSA public key

python - 无法读取UDP数据包

java - 无法创建 PoolableConnectionFactory((SSL)加密。错误 : Signature algorithm mismatch".)

c - 如何在 C 中将客户端的 IP 存储在数组中(套接字编程)

linux - 如何在嵌入式Linux中启用IP分片?

java - 查找文档相似性的最佳方法

java - 如何从war solaris服务器访问windows文件系统?