【发布时间】:2014-06-04 01:29:03
【问题描述】:
我正在为 linux 系统开发一个非阻塞 C tcp 套接字。我读过在非阻塞模式下,如果没有错误,“发送”命令将立即返回“发送的字节数”。我猜这个返回的值实际上并不意味着这些数据已经被传递到目的地,而是数据已经被传递到内核内存以供进一步处理和发送。
如果是这样的话,我的应用程序如何知道内核真正发送了哪个数据包到另一端,假设网络连接有一些问题并且内核决定在一段时间内重试几次后才放弃几分钟后?
我问是因为我希望我的应用程序稍后再重新发送那些失败的数据包。
【问题讨论】: