1
首先,我知道TCP和UDP之間的區別,我知道,這可能是某些數據包可以同時使用UDP丟失。如何確保發送完整的數據? SENDTO(UDP套接字)的Python
然而,當我們假設我設計了一些簡單的ACK對UDP的協議,我怎麼能保證我發送/接收的全部數據?
例如,對於TCP套接字這是相當簡單:
接收:
def recvall(sock, n):
i = 0
data = ""
while i < n:
data += sock.recv(1)
i += 1
return data
併發送:sock.sendall(msg)
。
如何類似的事情應該同時使用UDP套接字來完成?
根據[這](https://gamedev.stackexchange.com/a/83550),選擇TCP UDP VS不講究誠信,它是關於你_streaming_數據或發送_messages_,所以才說「使用TCP」沒有理解協議的性質就簡單而錯誤。 –