1
某些事实:
- 我的应用程序是客户端。
- 我有一个Socket
池。
- 多个Thread
s使用此池。
- 每个Thread
都会超时。
- 超时时,即使未从服务器读取任何答复,Socket
也会返回到池中。
清空InputStream(套接字)
问题:
在超时,有机会,使用这个Socket
下一个Thread
将不得不读一些旧的消息(这是由服务器返回的插槽后发送)。
问题:
什么是最好的方式来“清洗”一Socket
使用前InputStream
?
即使服务器只是慢几秒钟(并且连接实际上很好,处理速度慢)? – AndrewBourgeois
@Andrew。问题是,你永远不知道你的前一个线程已经停止,所以你不知道如何正确快速前进到已知状态。选择适当的超时是网络编程/维护的黑色艺术,这就是为什么网络顾问(知道他们的东西)付出很高的代价并值得每一分钱的原因。 –