[英]UDP socket recv functionality
如果我在客戶端有傳入數據並且我的代碼如下所示:
while True:
message, address = self.sock.recvfrom(4096)
...........................................
...........................................
...........................................
^ 並且根據我每次收到的內容,我在這里執行不同的操作,其中一些可能是此循環中的長字符串操作。 我的問題是,在執行這些操作的同時,如果我在此客戶端套接字上從服務器接收數據,是否會丟棄數據,因為客戶端不會在我完成操作之前監聽,並且 go 回到循環的開始謝謝
如果通過“偵聽”您的意思是實際使用recvfrom
獲取數據,那么不,kernel 內部有緩沖區可以處理此類內容並將數據發送到 recvfrom function 一旦您將其回調以接收更多信息。 但是,如果您長時間不調用 recvfrom,則該緩沖區可能會在獲取新數據時填滿,並將開始丟棄舊數據報以為新數據報騰出空間:這種情況發生的頻率取決於該緩沖區的大小。 使用 UDP 的更大問題是不可靠,因為 UDP 可以並且會根據各種因素丟棄數據報。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.