android - 有超时的Android InputStream类吗?

标签 android timeout inputstream

我目前在我的应用程序中使用 InputStream (import java.io.InputStream) 并且遇到了有关超时的问题。 InputStream 的工作方式似乎是它等待一定数量的位然后继续。对于我的应用程序,这在很多时候都有效,但在某些情况下,我预计读取会因超时而失败。有谁知道这样做的方法吗?

我发现了很多创建线程与 read() 函数一起运行并取消它的例子,但我想知道是否有一个现有的类可以让我使用 InputStream 超时。

最佳答案

这在很大程度上取决于您从哪里阅读。如果它来自文件(或本地)套接字,则没有超时。如果是来自远程套接字,可以在创建套接字时指定超时时间。如果它超时,你应该得到一个异常(exception)。使用 threads/AsyncTask 是可行的方法,但通常不能中断阻塞的读取,除非您使用的是 Java NIO。

不,这并不荒谬,您如何建议它“自行超时”?必须有人发出超时信号,并且有人是某种监视线程或操作系统引发错误。

关于android - 有超时的Android InputStream类吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13979348/

相关文章:

java - Spring GWT http 请求超时

java - 贾斯珀报告 : How to combine two report streams into one PDF output?

java - 为什么我的代码会产生错误?

java - InputStream音频混合(MODE_STREAM)

android - 底部导航 View 中加载的 fragment 在方向更改时变为空

java - OpenGL 在 Android 2.3.7(CyanogenMod-7) 上绑定(bind)空白纹理,而在其他 Android 版本上绑定(bind)实际图像

timeout - Haproxy "timeout server"针对特定操作

java - XWPFDocument 给出 NoClassDefFoundException :org. doc4j.NameSpace

android - 无法构建 Xamarin Android 项目 : An outdated of 'Android SDK Build-tools' is in use

c#检测tcp断开连接