【发布时间】:2014-01-20 16:06:18
【问题描述】:
我在 Linux C 程序中使用 TCP 流套接字来传输数据。我的问题是:丢包会发生什么?
Linux 套接字是否实现了 TCP 数据包恢复机制,以便丢失的数据包在丢失后在超时后重新发送?
还是我必须检查send() 返回值,如果为零则重新发送数据?
【问题讨论】:
-
TCP 处理它,这基本上就是它的全部目的......所有那些 acks 和 windows 和框架 'n' 垃圾......但你必须检查你的返回值......
-
想一想-它必须处理丢包-否则API中有一个严重的错误,因为它提供了一个流接口!即使您愿意,API 也没有为您提供足够的信息来重新发送。