TcpClient检查数据包是否收到?

Does TcpClient check packets have been received?

我写了一个供我公司内部使用的程序,它使用 .Net 中的 TCPclient 和 TcpListener classes 发送和接收文件,我只想知道这个 class 是否自动检查是否已收到数据包,或者我是否必须编写自己的方法来进行检查?

如有任何帮助,我们将不胜感激!

干杯

TCP 本身会检测(并尝试重新请求)丢失 的数据包,并修复排序,因此您不需要处理 那些 东西;然而,这并不意味着一切都会到达(有时插座会坏掉,有时有人绊倒网络电缆并将其从机器中拔出);如果您需要确认另一端已收到数据,唯一可靠的方法是让另一端发送响应消息。当然,然后您会遇到这样一种情况,即另一端认为它发送了响应,但 您没有收到该响应,因为有人切断了错误的线路。没有响应并不意味着目标服务器没有接收和处理消息!