jbu*_*jbu 4 java io ignore inputstream input
我有一个客户端连接到我的服务器.客户端向服务器发送一些我不关心的消息,如果我不打算使用它们,也不想浪费时间解析它的消息.我使用的所有i/o都是简单的java i/o,而不是nio.
如果我创建输入流并且从不读取它,那么缓冲区是否会填满并导致问题?如果是这样,有什么我可以做的或我可以设置的属性让它只是扔掉它看到的数据?
现在如果服务器根本不创建输入流怎么办?这会导致客户端/发送方出现任何问题吗?
请告诉我.
谢谢,jbu
当您accept从客户端连接时,您会得到一个InputStream.如果您不从该流读取,则客户端的数据将缓冲.最终,缓冲区将填满,客户端将在尝试写入更多数据时阻塞.如果客户端在从服务器读取响应之前写入其所有数据,则最终会出现相当典型的死锁情况.如果你真的不关心客户端的数据,只需读取(或调用skip)直到EOF并删除数据.或者,如果它不是标准的请求/响应(如HTTP)协议,则启动一个不断读取流的新线程,以防止它被备份.