我目前正在开发使用DirectSound在Intranet上进行通信的应用程序。我有使用UDP的有效解决方案,但后来我的老板告诉我他出于某种原因想使用TCP/IP。我试图以与UDP几乎相同的方式来实现它,但收效甚微。我得到的基本上只是噪音。它的20%是录制的声音,其余的只是怪异的声音。
我的猜测是,TCP需要多次读取所有接受的数据,直到获得我可以播放的最终声音为止。
现在有两个问题:
最佳答案
不,使用TCP是可怕的构想。在这种情况下,UDP的性能会更好,并且丢弃/不同步的数据包将无关紧要!
如果您的老板不了解技术细节,请告诉他或她,当前现有的几乎所有VOIP系统都使用UDP,并且一定有一个原因:Skype,ventrilo,teampeak,魔兽世界等