簡體   English   中英

有關接收數據包時UDP緩沖區大小的問題

[英]Question about UDP buffersize when receiving packets

假設在UDP中,我知道我正在接收的數據包每個都是200字節。

在C套接字編程中:

n = recvfrom(sockfd,mesg,1000,0,(struct sockaddr *)&cliaddr,&len);

如果我將buffersize定義為1000。這是否意味着我每次可以接收5個數據包? 還是我仍然只能得到1個數據包,而緩沖區中剩余的800個字節仍未使用?

TKS!

如果您知道您的數據包永遠不會超過200個字節,則無需聲明緩沖區大於200個字節。

每個recvfrom()將收到AT MOST一個數據包。 其余數據包由堆棧緩沖。 在“ while()”循環中讀取多個數據包確實沒有“性能損失”。

在UDP套接字上, recvfrom()一次只能返回單個數據包中的數據。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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