[英]Empty the InputStream (of a Socket)
一些事實:
- 我的應用程序是客戶端。
- 我有一個Socket
池。
- 多個Thread
使用此池。
- 每個Thread
都可以超時。
- 超時時,即使沒有從服務器讀取回復, Socket
也會返回到池中。
問題:
在超時時,可能是使用此Socket
的下一個Thread
必須讀取一些舊消息(在返回Socket后由服務器發送)。
問題:
在使用之前“清除” Socket
的InputStream
的最佳方法是什么?
如果您的I / O協議未正常完成,最佳解決方案是關閉有問題的I / O通道,將其從池中刪除,打開新連接並將其添加到池中。
為了實現這一點,客戶端和服務器都應該通過提供確認另一端活動的方法來為這種可能性做好准備。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.