Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sockets 如何使用udp套接字手动发送音频数据_Sockets_Audio_Networking_Udp_Voice - Fatal编程技术网

Sockets 如何使用udp套接字手动发送音频数据

Sockets 如何使用udp套接字手动发送音频数据,sockets,audio,networking,udp,voice,Sockets,Audio,Networking,Udp,Voice,我正在使用udp套接字开发视频聊天应用程序, 我能够捕获巨大的原始音频数据。由于它是聊天应用程序,我应该能够传输这个音频数据连续 问题是这个音频数据是巨大的,所以套接字mtu不允许我传输这个数据 我正在寻找一种方法,可以将这些数据拆分,通过套接字发送,并在另一端捕获它们,然后将它们组合起来生成语音数据。 请指导我如何使用udp套接字和udp您必须自己处理传输顺序(udp数据报1号可以在audp数据报2号之后接收),以及丢失的数据包(udp不允许数据报的传递) 您应该使用TCP进行大容量传输,因为

我正在使用udp套接字开发视频聊天应用程序, 我能够捕获巨大的原始音频数据。由于它是聊天应用程序,我应该能够传输这个音频数据连续

问题是这个音频数据是巨大的,所以套接字mtu不允许我传输这个数据

我正在寻找一种方法,可以将这些数据拆分,通过套接字发送,并在另一端捕获它们,然后将它们组合起来生成语音数据。
请指导我如何使用udp套接字和
udp
您必须自己处理传输顺序(
udp数据报
1号可以在
a
udp数据报
2号之后接收
),以及丢失的数据包(
udp
不允许数据报的传递)

您应该使用
TCP
进行大容量传输,因为数据包的顺序很重要

关于
MTU
,您不必关心它是否小于要发送的数据的大小。操作系统将为您整理碎片


只需将数据分成
64k
块(单个
send()
调用允许的最大大小)并循环,直到数据完全传输。

谢谢Davide Berra。你能提供一些关于如何执行传输顺序和丢失数据包的示例链接吗?假设你正在用C语言编程:谢谢,我正在用C#udp套接字发送大小为64K的字节数组,我可以毫无例外地发送,但接收器套接字无法获取数据。我遗漏了什么吗?非常感谢Davide Berra我知道了,问题在于我的涂层我将接收器插座的缓冲区大小设置为1024,所以我没有收到任何数据。