gpt4 book ai didi

c - 关于UDP接收包时buffersize的问题

转载 作者:太空宇宙 更新时间:2023-11-04 02:16:15 24 4
gpt4 key购买 nike

假设在 UDP 中,我知道我收到的每个数据包都是 200 字节。

在 C 套接字编程中:

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

如果我将缓冲区大小定义为 1000。这是否意味着我每次可以接收 5 个数据包?或者我仍然只能得到 1 个数据包,而缓冲区中剩余的 800 字节未被使用?

谢谢!

最佳答案

如果您知道您的数据包永远不会超过 200 字节,那么就没有必要声明您的缓冲区大于 200 字节。

每个 recvfrom() 将最多接收一个数据包。剩余的数据包由堆栈缓冲。在“while()”循环中读取多个数据包确实没有“性能损失”。

关于c - 关于UDP接收包时buffersize的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7314498/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com