繁体   English   中英

Java I / O读取延迟

[英]Java I/O read Delay

当我尝试读取InputStream时,从服务器读取数据会花费很多时间。 该过程读取一些字节暂停5分钟,然后再次读取,并以此方式继续。 但是线程在读取一些字节后挂起。 有什么办法可以快速读取字节?

如果要从任何设备读取字节,则应该期望read()阻塞一段时间。 多长时间取决于设备。 如果是Socket,则取决于发送数据的另一端和您的网络特征。

如果您希望连接检测到失败的Socket连接,请让另一端发送常规心跳,除非在有限的时间内收到数据包,否则您可以认为连接已死。

该过程读取一些字节暂停5分钟

这意味着什么。 您暂停它,还是暂停它自己?

如果您暂停了5分钟,请不要打扰。 read()将阻塞,直到有可用数据为止。 可能不到5分钟,所以您可能浪费了很多时间。

如果它本身正在暂停,那是因为read()将阻塞直到有可用数据为止(请参见上文)。 因此,这意味着服务器的发送速度没有达到您的预期。 因此,请调查该消息,而不是接收者的行为。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM