我有一個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. 在tcp上設置超時
- 4. asp.net web配置設置和安全中的超時
- 5. 我可以全局設置HTTP連接的超時時間嗎?
- 6. 在Django模型類上設置__new__安全嗎?
- 7. 在org.apache.commons.io.FileUtils.copyURLToFile上設置超時時間?
- 8. 在jQuery上設置超時時間.load
- 9. 動態設置空視圖:安全嗎?
- 10. 多線程設置ServicePointManager.ServerCertificateValidationCallback安全嗎?
- 11. 如何在angular2上爲GET請求設置全局超時
- 12. jQuery Mobile的 - 設置全局超時
- 13. WebRequest設置超時響應不完全
- 14. 全局設置CDI會話超時
- 15. 在WiX中設置DCom安全設置
- 16. 在JAX-WS上設置超時(weblogic)
- 17. 在fadein/fadeut上設置超時jQuery
- 18. 可能在DocumentBuilder上設置超時?
- 19. 如何在HttpWebRequest.GetRequestStream上設置超時值?
- 20. 安卓:設置連接超時的HttpPost
- 21. 定製spring-security AuthenticationProvider可以設置OAuth2安全上下文嗎?
- 22. 設置CCNET安全
- 23. FOSUserbundle安全設置
- 24. 我可以爲BufferReader設置超時嗎?
- 25. Java 1.8安全點超時
- 26. Php會話超時安全
- 27. 超時設置
- 28. 設置超時?
- 29. 配置WCF安全設置
- 30. WebApi上的簡單安全設置
是------------ – 2011-02-11 22:55:01
這聽起來像一個非常糟糕的主意。你想達到什麼目的?我確定有一個解決方案,但它不是`Socket.setSoTimeout()`。 – biziclop 2011-02-11 22:57:53