检测传入请求的数据类型

时间:2017-07-07 11:28:49

标签: java sockets tcp-ip objectinputstream objectoutputstream

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

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

感谢您的投入!

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

很久以后,我们决定更改协议。如@ user8245293所述,实际上有点混乱。它会带来安全问题,并且会通过检测流类型来实现古怪的解决方案。

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