1

我想使用 pjsip 在 c 中开发一个程序来进行点对点文件传输。由于 pjsip 使用 ice 并且在 ICE 中使用 UDP,所以我需要处理数据包传递保证

因为我会通过将文件分成几个部分来发送文件,然后它们在接收器端重新组装所有部分,所以我是否必须保持数据包的顺序,或者我可以假设数据包以正确的顺序传递? ?

4

1 回答 1

0

使用 UDP,您既不能假设数据包是按顺序传递的,也不能假设它们只传递一次,或者根本就不能传递它们!所以你需要想出一个协议来做很多通常 TCP 会处理的事情。它必须重新组装原始数据流并处理我上面列出的事情。

此外,使用 UDP,您可能会遇到导致拥塞的问题。TCP 可以通过其拥塞避免算法来避免这种情况,使用 UDP,您可以轻松地发送数据包太快,从而导致它们在过载的路由器处丢弃。

所有这些都是要解决的重要问题,因此我建议您阅读该主题。我会从一本关于 TCP 的好书开始。

于 2013-05-13T14:08:37.700 回答