c - "Sliding Window"- 是否可以增加协议(protocol)的可靠性并避免流量控制实现?

标签 c networking tcp network-programming udp

<分区>

作为个人项目的一部分,我正在制作一个可靠的应用程序级协议(protocol)(封装在 UDP 中)。

为了实现可靠性,我必须跟踪我发送了哪些数据包,以及在另一端接收了哪些数据包。这是在滑动窗口的帮助下完成的,它还保持了流量控制。

  1. 除了标准的滑动窗口/流量控制技术之外,是否还有其他方法可以实现可靠性。
  2. 如果否,是否有人会分享他的经验/设计原理/代码并在这篇文章中进行讨论。
  3. 如果是,您是否已实现它,或者您是否知道该概念的任何实现情况。

最佳答案

令人遗憾的是,TCP/IP 堆栈不包含可靠的数据报协议(protocol),但事实并非如此。可以搜索到很多尝试和建议。

如果这是一个个人项目,您的时间可能是最稀缺的资源,除非您的目标是重新发明这个特定的轮子,否则只需在 TCP 之上构建您的协议(protocol)并继续。

关于c - "Sliding Window"- 是否可以增加协议(protocol)的可靠性并避免流量控制实现?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1112817/

相关文章:

rust - 如果 BufReader 取得流的所有权,我如何在其上读取和写入行?

c++ - 在 C++ 中将 TCP 服务器数据包保存到文件

c - 在 C 中使用管道在进程之间发送浮点值

c - linux下 "size"命令的结果和text&edata&end的值不一样

sockets - Telnet IAC命令回答

c# - 无法处理从 HTTP/HTTPS 协议(protocol)到其他不同协议(protocol)的重定向

C——指针问题和void方法问题

c++ - 使用不带括号的 sizeof

c++ - 是否可以触发由 1 发送触发的 2 接收回调?

java - TCP 套接字不适用于 Android 7+ 的设备