【发布时间】:2019-05-30 08:56:41
【问题描述】:
我正在尝试使用write function 编写一个 TCP 客户端,如下所示:guide。
我关闭了我的网络并尝试发送一个包含 2 个字节数据的 PING 包。
由于它是 TCP 客户端,我预计会返回某种错误,因为根本没有网络,服务器将无法接收消息,因此不会返回 ACK 数据包。然而,write function 返回 2 个字节被写入,似乎它根本没有验证来自服务器端的 ACK packet。
我如何检查 ACK 以确保我的消息是否发送成功并且服务器是否接收到它?
【问题讨论】:
-
仅当数据成功提交到本地操作系统内核时才返回。它没有说明另一端收到的数据。如果你想拥有这样的东西,你需要在你的应用程序级别实现它,即让对等方显式地回复应用程序级别的确认。