2013-02-21 62 views
0

我正在使用udp套接字的视频聊天应用程序, iam能够捕获巨大尺寸的原始音频数据。因为它是聊天应用程序,我应该能够持续传输这些音频数据。如何使用udp套接字手动发送音频数据

问题是这个音频数据很大,所以socket mtu不允许我传输这些数据。

我找到了分离这些数据并通过套接字发送并在另一端捕获它们并将它们组合起来产生语音数据的方式。 如何使用UDP套接字

回答

1

随着UDP请指引我,你有自己的传输顺序(UDP datagram数1可以收到AFTER一个UDP datagram2号)和丢包(UDP不授予的照顾数据报的递送)

对于包大小顺序较大的大容量传输,您应该使用TCP

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

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

+0

谢谢大卫贝拉。你能否提供一些关于如何执行传输顺序和丢失数据包的示例链接 – Kasi 2013-02-21 09:06:12

+0

假设你使用C语言进行编程:[Sockets tutorial - TCP](http://www.linuxhowtos.org/C_C++/socket.htm) – 2013-02-21 09:08:08

+0

谢谢,Iam用c#udp套接字发送大小为64K的字节数组,iam能够发送无任何异常,但接收套接字无法获取数据。我错过了什么? – Kasi 2013-02-21 09:26:49

相关问题