设置接收和发送缓冲区的套接字缓冲区大小

问题描述 投票:0回答:2

如何在 C 中设置 UNIX 套接字文件描述符的套接字缓冲区大小? 我知道setsockopt可能是涉及的系统调用...... 谁能给出一个如何使用它的例子,我发现的例子没有解释如何设置缓冲区大小?

c sockets unix-socket setsockopt
2个回答
0
投票

在 Ubuntu 14.04 Linux 上查看

man 7 socket
,具体查看
SO_RCVBUF
SO_SNDBUF


0
投票

更具体地说:

#include <socket.h>

int fd = socket(AF_INET, SOCK_STREAM, 0);
int sz = 1024;
setsockopt(fd, SOL_SOCKET, SO_SNDBUF, &sz, sizeof(sz)); // Send buffer 1K
setsockopt(fd, SOL_SOCKET, SO_RCVBUF, &sz, sizeof(sz)); // Receive buffer 1K

不要忘记检查

setsockopt()
是否在成功时返回 0。否则,
errno
会告诉你出了什么问题。

© www.soinside.com 2019 - 2024. All rights reserved.