我有一个HttpURLConnection
,readTimeout
设置为500毫秒进行测试。根据我的理解,readTimeout
是等待响应的最长允许时间。但是,当我运行我的应用程序时,getOutputStream
会抛出异常。 Exception
显然是由于readTimeout
。
为什么readTimeout
出现在getOutputStream
?我认为getOutputStream
仅用于发送数据,因此不应等待任何响应。由于它不必等待任何响应,readTimeout
不可能发生。最初,我认为readTimeout
将发生在getInputStream
,因为它是接收/读取响应的地方。你能解释readTimeout
和connectTimeout
的工作原理吗?
另外,当我在getOutputStream
之前和之后放置一个计时器时,调用getOutputStream
后我的计时器的值只有200+毫秒。我的readTimeout
是500毫秒。为什么getOutputStream
的时间早于readTimeout
的500毫秒值?请注意,我的connectTimeout
设置为0或无限。