Socket
从文档:丢弃输入从插座
shutdownInput
public void shutdownInput() throws IOException
商家在 “流的末尾” 这个插座的输入流。发送到套接字的输入流一侧的任何数据都会被确认,然后以静默方式丢弃。
如果您在套接字上调用shutdownInput()之后从套接字输入流中读取数据,则该数据流将返回EOF。
为了测试服务器中客户端之间的交互,我写了一些客户端机器人。这些机器人生成一些随机的客户端请求。由于这些只写入服务器,所以他们不需要输入流,他们不需要读取服务器发送的更新。这是代号为机器人主体:
private void runWriteBot(PrintWriter out) throws IOException {
//socket.shutdownInput();
String request;
System.out.println("Write bot ready.");
while (!quit) {
request = randomRequest();
out.println(request);
sleep();
}
}
如果我取消了shutdownInput
,一个例外是在服务器的客户端处理程序抛出:
连接重置
我没预计在socket的另一端会抛出一个异常。文件建议(对我来说,至少)对方发送的任何内容将被默默丢弃,不会干扰对方的活动,即即而没有另一方抛出异常。
我可以忽略服务器发送的内容,还是应该排除输入流中的内容?
有没有automagic这样做的方法,还是我需要定期阅读和忽略?