gpt4 book ai didi

java - 当 ConnectTimeout 和 ReadTimeout 无限时出现 SocketTimeoutException?

转载 作者:行者123 更新时间:2023-12-02 00:23:28 25 4
gpt4 key购买 nike

Possible Duplicate:
Receiving request timeout even though connect timeout and read timeout is set to default (infinite)?

我尝试连接到网络服务并收到 SocketTimeoutException大约20秒后。托管 Web 服务的 Tomcat 服务器已关闭,因此 Exception是期待。但是,我没有设置我的ConnectTimeout和ReadTimeout的值。根据文档,这两个的默认值是无限的。

出现这种情况的一种可能性是我尝试连接的服务器有自己的超时。但当我的 friend 尝试使用 iOS 连接它时,他的连接在大约 1 分 15 秒后超时。如果服务器是发出超时的服务器,那么我们的连接应该几乎同时超时。请注意,他还使用了 iOS 的默认时间。

  • 当我的连接和读取超时设置为无限时,为什么我的套接字这么早就超时了?
  • 套接字超时与连接和读取超时不同吗?如果是这样,有什么不同?
  • 我如何知道套接字超时值?我正在使用 HttpURLConnection。
  • 有没有办法设置套接字超时?怎么办?

下面是我的代码 fragment :

httpURLConnection = (HttpURLConnection) ((new URL("http://www.website.com/webservice")).openConnection());
httpURLConnection.setDoInput(isDoInput);
httpURLConnection.setDoOutput(isDoOutput);
httpURLConnection.setRequestMethod(method);

try
{
OutputStreamWriter writer = new OutputStreamWriter(httpURLConnection.getOutputStream());
writer.write("param1=value1");
writer.flush;
}catch(Exception e)
{

}

最佳答案

Why did my socket timed out so early when my connect and read timeout are set to infinite?

请输入代码。

Is socket timeout different to connect and read timeout? If so, how is it different?

SocketTimeoutException 是读取超时。

How can I know the value of my socket timeout? I am using HttpURLConnection.

HttpURLConnection.getReadTimeout();还有HttpURLConnection.getConnectTimeout()

Is there a way to set the socket timeout? How?

HttpURLConnection.setReadTimeout()。

您已经在 original post 中引用了所有这些方法。你为什么在这里问他们?

关于java - 当 ConnectTimeout 和 ReadTimeout 无限时出现 SocketTimeoutException?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10492406/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com