1

我有HttpURLConnection一个readTimeout设置为 500 毫秒的测试。根据我的理解,readTimeout等待响应的最大允许时间。但是,当我运行我的应用程序时,会在getOutputStream. Exception显然是由于readTimeout.

为什么readTimeout发生在getOutputStream?我认为getOutputStream仅用于发送数据,因此不应等待任何响应。而且由于它不必等待任何响应,readTimeout因此不会发生。最初,我认为这readTimeout将发生在getInputStream因为它是接收/读取响应的地方。你能解释一下 areadTimeout和是如何connectTimeout工作的吗?

另外,当我在之前和之后放置一个计时器时getOutputStream,调用后我的计时器的值getOutputStream只有200+毫秒。我readTimeout的是 500 毫秒。为什么getOutputStream超时时间早于 my 的 500 毫秒值readTimeout?请注意,我connectTimeout的设置为 0 或无限。

4

0 回答 0