【发布时间】:2017-06-19 17:44:50
【问题描述】:
首先,我知道 TCP 和 UDP 之间的区别,而且我知道,使用 UDP 时可能会丢失一些数据包。
但是,当我们假设我为 UDP 设计了一个带有一些简单 ACK 的协议时,我如何确保我发送/接收了整个数据?
例如,使用 TCP 套接字非常简单:
接收:
def recvall(sock, n):
i = 0
data = ""
while i < n:
data += sock.recv(1)
i += 1
return data
然后发送:sock.sendall(msg)。
在使用 UDP 套接字时应该如何做类似的事情?
【问题讨论】: