gpt4 book ai didi

使用 TCP/IP 套接字检查有多少数据已传送到目的地

转载 作者:可可西里 更新时间:2023-11-01 02:35:44 24 4
gpt4 key购买 nike

我正在开发一个需要向客户端发送大量数据的服务器应用程序。但是,客户端可能随时断开连接,在这种情况下,套接字上的 send()/write() 将返回错误。我想检查在客户端断开连接之前实际传送了多少数据,以便能够在客户端重新连接时从中断的地方继续发送数据。

是否可以使用套接字 API 进行检查?

最佳答案

不,套接字 API 不会为您提供此信息。事实上,一般情况下不可能知道这一点。根据连接失败的特定方式,一侧的 TCP 堆栈通常无法知道有多少数据成功到达另一侧。它唯一能知道的是确认了多少数据,这不是一回事。并且考虑到 TCP/IP 之外的其他事情可能已经失败(本地操作系统、远程操作系统、远程进程、远程应用程序逻辑),在 TCP 级别已确认的数据量可能并不重要.

您需要使用端到端应用程序协议(protocol)让远程端确认它已接收并成功处理(并提交,如果适用)的数据。

关于使用 TCP/IP 套接字检查有多少数据已传送到目的地,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15092558/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com