我正在尝试调整 TCP 以在实时通信中正常工作。要做到这一点,规范之一是强制 TCP 接受应用程序写入的新数据,即使缓冲区已满,这使得 TCP 有时“不可靠”。这样,应用程序写入调用就不会被阻塞,发送方应用程序的时间也不会中断。 我认为 NS2 中必须有一个选项才能使其成为可能。 那么,如何强制 TCP 丢弃缓冲区中最旧的数据段并接受 NS2 中应用程序写入的新数据?
最佳答案
你不能。 TCP 是“可靠流”。任何允许删除数据的功能都与该目标背道而驰,因此不存在此类支持。
如果您希望能够丢弃数据,如果您想要“最可靠的传送”而不是“最大努力”,您将不得不切换到 UDP 之类的东西并实现您自己的窗口/重试。
关于networking - 我如何强制 tcp 丢弃缓冲区中最旧的数据段并接受 NS2 中应用程序写入的新数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12916396/