Java 如何检查是否有来自TCP套接字的传入数据而不接收它?
基本上,我需要做的是获取一个通知,然后使用类DataInputStream和方法read()继续接收数据 问题是DataInputStream没有一个方法来检查是否有要读取的内容,使用read()方法进行测试会干扰对read()的进一步调用 我可以通过读取一个字节并向其添加更多数据来进行测试,但我想看看是否有更优雅的解决方案Java 如何检查是否有来自TCP套接字的传入数据而不接收它?,java,sockets,tcp,Java,Sockets,Tcp,基本上,我需要做的是获取一个通知,然后使用类DataInputStream和方法read()继续接收数据 问题是DataInputStream没有一个方法来检查是否有要读取的内容,使用read()方法进行测试会干扰对read()的进一步调用 我可以通过读取一个字节并向其添加更多数据来进行测试,但我想看看是否有更优雅的解决方案 DataInputStream没有检查是否有内容可读取的方法 是的。您错过了available()方法,但它并不总是返回非零,这取决于您所连接的对象 看看PushbackI
DataInputStream
没有检查是否有内容可读取的方法
是的。您错过了available()
方法,但它并不总是返回非零,这取决于您所连接的对象
看看
PushbackInputStream
你完全正确!我完全忽略了这一点,这是第一个解释的方法!我想我累了谢谢