[英]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.