【问题标题】:Is it possible to only pick part of a UDP packet to receive?是否可以只选择要接收的 UDP 数据包的一部分?
【发布时间】:2014-01-07 07:08:53
【问题描述】:

我正在尝试接收多播 UDP 数据包。该数据包具有时间戳和一些其他无用数据以及传感器读数。有没有办法只接收数据包的最后一部分,即总 110 字节消息中的最后 16 个字节?这将有效地仅获取传感器读数并忽略 UDP 包的其余部分。

【问题讨论】:

  • 不。通读全文,找出你想要的。
  • 感谢您的回复。该数据包还为应该转换为十进制形式的传感器读数发送十六进制值。但是数据包的其余部分需要转换为字符串,有没有办法可以做到这一点?
  • 当然。但是如何你会这样做是另一个问题。这取决于您的数据到底是什么样的
  • 感谢您的帮助。如果你有时间看,数据是这样的,第 73 页上的link。
  • 文档对这些字节的确切内容有点模糊。但它可能是一组 8 个 16 位整数。小端还是大端,我不能告诉你。

标签: java sockets udp sensors multicast


【解决方案1】:

如果您想要的数据位于数据包的开头,是的,只需提供一个足够大的缓冲区来容纳您想要的数据。否则不行。

【讨论】:

  • 谢谢,可惜我要的数据在包的末尾。
猜你喜欢
  • 2013-07-18
  • 1970-01-01
  • 1970-01-01
  • 2010-12-09
  • 1970-01-01
  • 2013-04-16
  • 1970-01-01
  • 1970-01-01
  • 2015-02-23
相关资源
最近更新 更多