通过套接字发送多个数据值的最佳方法是什么?

时间:2015-01-22 01:01:32

标签: java android sockets

所以我有一个Raspberry Pi跟踪一些温度传感器输出并控制加热器以满足用户定义的设定点。我现在正在尝试创建一个与pi对话的应用程序,这样我就可以看到手机的设定值和实际温度读数。在这样做时,我希望使用多播,以便最终可以将其扩展为使用多个设备。我想最终发送一些信息,包括每个设备的名称和各种传感器的数据值。我有点希望Java可以通过包含所有信息的数据报包发送一些东西。我在思考类似于C ++中的结构(这是我在Java上的第一次尝试),但我遇到了麻烦,因为结构不存在。

我可以拥有一个完全公开的类,但我必须通过数据报发送它,这看起来很奇怪。在Java中有更好的方法吗?

我没有真正有代码可以发布,因为这是一个设计问题,但任何代表可能的解决方案的代码示例都将非常感激。

感谢您的帮助!

编辑:我应该补充一点,我现在正在为Android写这个,我打算在PC上做类似的事情。我不确定它们有什么不同,或者在这种情况下它们是否会这样做,但我想我会把它扔出去。

1 个答案:

答案 0 :(得分:1)

DataOutputStream及其原始编写方法与ByteArrayOutputStream,结合使用,并将后者的字节包含在DatagramPacket.中。在接收方,执行相反的操作。