【发布时间】:2010-12-04 14:39:24
【问题描述】:
当我通过 tcp 流发送()/写入()消息时,我如何确定这些字节是否已成功传递?
接收方通过 tcp 确认接收到字节,因此发送方的 tcp 堆栈应该知道。
但是当我 send() 一些字节时,send() 立即返回,即使数据包(还)无法传递,我在 linux 2.6.30 上使用 netcat 上的 strace 进行了测试,在发送之前拔掉了我的网络电缆一些字节。
我只是在开发一个应用程序,其中知道消息是否已传递非常重要,但是实现 tcp 功能(“ack for message #123”)感觉很尴尬,必须有更好的方法。
【问题讨论】:
标签: c linux networking tcp