我目前正在开发使用DirectSound在Intranet上进行通信的应用程序。我有使用UDP的有效解决方案,但后来我的老板告诉我他出于某种原因想使用TCP/IP。我试图以与UDP几乎相同的方式来实现它,但收效甚微。我得到的基本上只是噪音。它的20%是录制的声音,其余的只是怪异的声音。

我的猜测是,TCP需要多次读取所有接受的数据,直到获得我可以播放的最终声音为止。

现在有两个问题:

  • 我在正确的轨道上吗?将TCP/IP用于这种应用程序(各种语音 session )甚至是个好主意吗?
  • 我正在用C#编写代码,但是我不认为这是特定于语言的。
  • 最佳答案

    不,使用TCP是可怕的构想。在这种情况下,UDP的性能会更好,并且丢弃/不同步的数据包将无关紧要!

    如果您的老板不了解技术细节,请告诉他或她,当前现有的几乎所有VOIP系统都使用UDP,并且一定有一个原因:Skype,ventrilo,teampeak,魔兽世界等

    09-11 17:57