我有一个应用程序可以进行广播并从多个网络节点接收消息(我也编写了这些应用程序,因此我可以控制它们发送的内容和方式)。在接收这些数据时,我需要将每个节点的消息分开,这样我就可以将它们反序列化为一个有意义的类。到现在为止,我通过保持每个客户端的每条消息大小相同(267字节)来解决这个问题。但是,这种解决方案显然不正确。我的另一个想法是把" \ 0"在发送时字节数组的末尾,所以我的应用程序可以逐个接收数据报。
有人能指导我解决这个问题吗?
感谢。
编辑:问题不明确:
Udp.receivePacket(bindedPort, byteSize, discoveryTimeout);
这里我几乎同时收到来自多个主机的消息。因此,我认为它们都堆积在Udp缓冲区中。我想为了逐个接收数据报并防止破坏字节顺序和完整性,我需要知道要接收多少字节。我的问题是要了解这方面的技巧。
答案 0 :(得分:0)
您可以在传输完成后发送消息发送字符串"结束"并在字符串"结束时检入服务器"遇到停止接收。