我需要一个发送UDP声音数据包的示例代码,例如使用数据报从服务器发送音频,由麦克风录制音频,发送给只听音频的客户端。有谁可以帮助我吗? 我找到了很好的例子,但他们都使用TCP和套接字(比如这个http://www.developer.com/java/other/print.php/2105421),而不是DatagramSocket,我真的很感谢你的帮助。
答案 0 :(得分:3)
通过UDP发送有点傻。 UDP可以按任何顺序到达,并且协议中没有排序。这意味着您可能会收到或不会收到数据包,您可能会在收到数据包之前收到数据包2,并且无法知道(没有编写一些代码来对其进行排序),这是第一个。
删除UDP并使用TCP。
编辑:
好的,假设您必须使用UDP然后大致我会这样做(假设您可以发送UDP数据包)
1)创建要封装在以下数据的UDP中的数据方案
包序号 数据 Crc校验和
2)在客户端,您需要一个缓冲区来订购和重新组装数据
这将缓冲数据包,命令并在给定的缓冲区长度重新组装数据(插入没有音频或截断丢失序列号的地方)
您还需要了解比特率考虑最弱的连接。最好是失去声音的粒度而不是非常清晰的声音片段。
请注意。 crc也可以与数据长度相结合。
H个
答案 1 :(得分:0)
尝试使用这些链接:
然后在Java中阅读关于DatagramSocket Class的内容。 This tutoria我应该明确帮助。