int sockfd;
int rcvbuf_size = 65536; // 设置接收缓冲区大小为 64KB
int sndbuf_size = 65536; // 设置发送缓冲区大小为 64KB
// 创建 UDP socket
sockfd = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP);
// 设置接收缓冲区大小
if (setsockopt(sockfd, SOL_SOCKET, SO_RCVBUF, &rcvbuf_size, sizeof(rcvbuf_size)) == -1) {
perror("setsockopt for receive buffer size");
return -1;
// 设置发送缓冲区大小
if (setsockopt(sockfd, SOL_SOCKET, SO_SNDBUF, &sndbuf_size, sizeof(sndbuf_size)) == -1) {
perror("setsockopt for send buffer size");
return -1;
// 其他操作...
close(sockfd);
return 0;
在上述代码中,我们使用
setsockopt
函数来设置
SO_RCVBUF
和
SO_SNDBUF
参数,分别用于接收和发送缓冲区的大小。需要注意的是,具体可设置的最大值可能会受到系统限制。
内容由零声教学AI助手提供,问题来源于学员提问