如何在写入时通过UDP套接字发送数据?

时间:2013-11-13 13:59:15

标签: linux sockets udp voip netcat

我使用服务器 - 客户端设计在WLAN上使用netcat连接了两台Linux机器。现在我能够在它们之间发送和接收消息。在服务器上我使用UDP套接字创建:

$ nc -u -l 3333

在客户端,我使用端口号和目的地 IP 连接到端口:

$ nc -u 192.168.178.160 3333

这会导致服务器和客户端之间的双向连接。人们无法分辨,但我认为它非常实时。 现在我想开发功能并尝试在双方之间建立实时语音连接。通过将语音数据写入arecord文件的.wav命令,通过麦克风录音也是可行的。 .wav文件的传输是可能的,只有在完全记录之后才能进行,但这是没有用的,因为所需要的是实时通信。当然,接收的语音信号必须立即在另一端播放。 有谁知道怎么做实时

1 个答案:

答案 0 :(得分:0)

保真度意味着尽管网络延迟和延迟变化,保持声音连续性的大缓冲计数,接近实时的低声音延迟意味着减少总体延迟的小缓冲计数。你不能两者兼得。

IME,你需要保持最多250毫秒。在两端缓冲声音以保持“实时”语音的错觉。这个缓冲区队列需要以再现语音所需的固定速率清空,并在必要时由网络协议保持充值。如果网络延迟太低而无法填充该大小的缓冲池,则必须使缓冲池更大,队列更长,并且感知的实时性能将受到影响。

TCP / UDP问题是大多数网络连接上的红色问题。

感谢您没有播放视频:)

相关问题