清空InputStream(套接字)

时间:2011-12-07 16:40:05

标签: java sockets io

一些事实:
- 我的申请是客户 - 我有一个Socket游泳池 - 多个Thread使用此池 - 每个Thread都可以超时 - 超时时,即使没有从服务器读取回复,Socket也会返回到池中。

问题:
在超时时,使用此Thread的下一个Socket可能必须读取一些旧消息(在返回Socket后由服务器发送)。

问题:
在使用之前“清除”InputStream Socket的最佳方式是什么?

1 个答案:

答案 0 :(得分:4)

如果您的I / O协议未正常完成,最佳解决方案是关闭有问题的I / O通道,将其从池中删除,打开新连接并将其添加到池中。

为了实现这一目标,客户和服务器都应该通过提供一种确认另一端活跃度的方法来为这种可能性做好准备。