c - setsockopt() 相当于非套接字文件描述符?

标签 c sockets bsd

有人知道 setsockopt() 的等效项可以在基于非套接字的文件描述符上工作吗?

具体来说,请考虑以下代码块:

int on = 1;
setsockopt(socketfd, SOL_SOCKET, SO_NOSIGPIPE, &on, sizeof(int));

一切都很好,现在我们可以在编写时避免使用 SIGPIPE 并引用 EPIPE。但这仅适用于使用accept()、socket()等打开的套接字文件描述符。

我正在尝试为由 pipeline() 调用打开的文件描述符获得类似的功能,setsockopt() 会立即拒绝该文件描述符为非套接字文件描述符。

对于由 pipeline() 或 open() 打开的描述符,是否有与上述 (setsockopt()) 等效的函数?

最佳答案

没有等效项,但您可以使用 socketpair 来创建 Unix 套接字。

关于c - setsockopt() 相当于非套接字文件描述符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38289467/

相关文章:

macos - OSX 上的 PF header net/pfvar.h 丢失

c - 为什么在记事本中进行击键时出现异常?

c++ - 可以在数据报套接字中用于发送和接收吗?

c# - C#-异步服务器与同步服务器-套接字

c - 错误 : Address already in use while binding socket with address but the port number is shown free by `netstat`

Bash printf 文字逐字字符串

c - 如何在 Ubuntu 上给出 EOF,Ctrl-D 似乎不起作用?

c - 错误使用execlp函数

c - 如何读取 PCI 卡中的 VPD 寄存器

c - OS/X 和 Linux 之间的 tcphdr 字段名称更改