检测传入请求的数据类型

问题描述 投票:0回答:2

我正在使用objectoutputstream来发送和接收已知设备的数据,但在我的情况下,也许有可能在套接字的InputStream上使用“String”-Streams的其他请求。

检测传入流是否可以由ObjectInputStream处理或者需要在正常的bufferedreader / inputreader上是红色的最佳方法是什么。

感谢您的输入!

java sockets tcp-ip objectinputstream objectoutputstream
2个回答
0
投票

您可以通过objectoutputsteam将字符串作为对象发送,另一方面使用instanceof检查它是否为字符串。如果不是,则可以继续使用instanceof进行检查以查找对象发送的类。一旦找到合适的类,就必须将对象强制转换为该类。


0
投票

经过很长时间后,我们决定改变协议。正如@ user8245293所提到的那样实际上有点凌乱。它会带来安全问题,并通过检测流类型来实现一种奇特的解决方案。

对我们来说,最好的解决方案似乎是 - 如果其他人感兴趣 - 引入轻握手协议和一些头信息来安排流类型。

© www.soinside.com 2019 - 2024. All rights reserved.