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