Java httpURLConnection.getOutputStream()上的readTimeout?

Java httpURLConnection.getOutputStream()上的readTimeout?,java,httpurlconnection,outputstream,urlconnection,socket-timeout-exception,Java,Httpurlconnection,Outputstream,Urlconnection,Socket Timeout Exception,我将HttpURLConnection的readTimeout设置为500毫秒进行测试。根据我的理解,readTimeout是等待响应的最长允许时间。但是,当我运行应用程序时,会在getOutputStream处引发异常。异常显然是由于读取超时造成的 为什么readTimeout发生在getOutputStream?我认为getOutputStream只用于发送数据,因此不应该等待任何响应。由于它不必等待任何响应,readTimeout无法发生。最初,我认为readTimeout将发生在getI

我将
HttpURLConnection
readTimeout
设置为500毫秒进行测试。根据我的理解,
readTimeout
是等待响应的最长允许时间。但是,当我运行应用程序时,会在
getOutputStream
处引发异常。
异常
显然是由于
读取超时
造成的

为什么
readTimeout
发生在
getOutputStream
?我认为
getOutputStream
只用于发送数据,因此不应该等待任何响应。由于它不必等待任何响应,
readTimeout
无法发生。最初,我认为
readTimeout
将发生在
getInputStream
上,因为它是接收/读取响应的地方。您能解释一下
readTimeout
connectTimeout
的工作原理吗


另外,当我在
getOutputStream
前后放置计时器时,调用
getOutputStream
后,计时器的值仅为200多毫秒。我的
readTimeout
为500毫秒。为什么
getOutputStream
的超时时间早于我的
readTimeout
的500毫秒值?请注意,我的
connectTimeout
设置为0或无限。

这有帮助吗@戴夫:谢谢!但是你给我的链接上没有设置readTimeout。我的问题是,当我认为readTimeout应该用于getInputStream时,readTimeout如何影响getOutputStream。