sockets - 如何查询文件描述符的套接字类型?

标签 sockets unix file-descriptor

我有一个套接字文件描述符(由 fstat(2) 确认)。我可以使用getsockname(2) 来查询套接字系列:getsockname 填充sockaddr.sa_family 字段。但是如何查询套接字类型(socket(2) 的第二个参数)和协议(protocol)(socket(2) 的第三个参数)?

最佳答案

getsockopt(fd, SOL_SOCKET, SO_TYPE, ...)
getsockopt(fd, SOL_SOCKET, SO_PROTOCOL, ...)

显然前者是由 POSIX 定义的。 ,而后者可能是特定于 Linux 的。但我不知道是否有更便携的方式来获取套接字协议(protocol)。

关于sockets - 如何查询文件描述符的套接字类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13787069/

相关文章:

c - 如何使用套接字将数据从 python 发送到 C (unix)

linux - 使用grep命令过滤

c - 为什么这个套接字/文件描述符分配无效?

创建文件描述符

c - 如何获取 Linux 中给定进程的 TCP 套接字的文件描述符?

linux - 多线程和多 TCP 连接

java - 套接字 ClassCastException HashMap

c++ - 将字符串输入与类数组值进行比较的问题 C++(Unix 环境)(作业)

linux - 通过 ssh 运行持久化进程

c - 如何杀死/结束/取消/加入套接字阻塞线程?