簡體   English   中英

UDP 插座接收功能

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM