我有一个ObjectInputStream
连接到一个ObjectOutputStream
通过一个插座,我一直在使用Socket.setSoTimeout()
使ObjectInputStream.readObject()
只阻止100ms。自从我开始这样做以来,我一直在调用readObject()
,同时获得了很多StreamCorruptedError
。超时是否应该归咎于?在ObjectInputStream.readObject()上设置超时安全吗?
3
A
回答
5
我有一个线程不断地通过这个函数获取新的数据,但我希望能够通过设置布尔值为false来阻止它。螺纹必须保持轮询布尔,并且如果它遭到封锁不是的readObject()
可以使用了Thread.interrupt让它抛出一个InterruptedException
,或在这种情况下,InterruptedIOException
。确保你不会吞下异常!
3
如果您设置的超时时间短于读取流时可能出现的正常延迟,那么当流仍处于正常活动状态时,可以预期超时有效。
100 ms似乎很长时间,但如果涉及到磁盘或网络流量,则不会发生。尝试用一些荒谬的东西超时,就像秒钟一样。
相关问题
- 1. 在socket.io上设置高关闭超时安全吗?
- 2. 在webClient.DownloadData上设置超时?
- 3. 我可以全局设置HTTP连接的超时时间吗?
- 4. 在Django模型类上设置__new__安全吗?
- 5. 多线程设置ServicePointManager.ServerCertificateValidationCallback安全吗?
- 6. 动态设置空视图:安全吗?
- 7. jQuery Mobile的 - 设置全局超时
- 8. WebRequest设置超时响应不完全
- 9. 如何在HttpWebRequest.GetRequestStream上设置超时值?
- 10. 定制spring-security AuthenticationProvider可以设置OAuth2安全上下文吗?
- 11. 设置CCNET安全
- 12. 超时设置
- 13. 设置超时?
- 14. 配置WCF安全设置
- 15. 设置会话超时在Grails的春天安全核心插件
- 16. 在CC.NET 1.5中配置安全设置
- 17. 在TCP中设置超时
- 18. 在Alamofire中设置超时
- 19. 在Mac上安装USB时设置umask
- 20. 我可以在C#中设置UdpClient的超时时间吗?
- 21. 设置超时mechanize.Browser
- 22. AsyncSocket设置超时
- 23. HttpURLConnection超时设置
- 24. 是文件上还是位置上的Windows安全设置?
- 25. Excel宏安全设置
- 26. 线程安全设置
- 27. 设置传输级安全
- 28. 安全Nifi集群设置
- 29. ASPX安全设置复杂
- 30. 设置集成安全,ii6
是------------ – 2011-02-11 22:55:01
这听起来像一个非常糟糕的主意。你想达到什么目的?我确定有一个解决方案,但它不是`Socket.setSoTimeout()`。 – biziclop 2011-02-11 22:57:53