Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sockets 如何查询文件描述符的套接字类型?_Sockets_Unix_File Descriptor - Fatal编程技术网

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

Sockets 如何查询文件描述符的套接字类型?,sockets,unix,file-descriptor,Sockets,Unix,File Descriptor,我有一个套接字文件描述符(由fstat(2)确认)。我可以使用getsockname(2)查询套接字族:getsockname填充sockaddr.sa_族字段。但是如何查询套接字类型(套接字(2)的第二个参数)和协议(套接字(2)的第三个参数) 显然,前者是由定义的,而后者可能是特定于Linux的。但我不知道是否有一种更便于携带的方法来获取套接字协议 getsockopt(fd, SOL_SOCKET, SO_TYPE, ...) getsockopt(fd, SOL_SOCKET, SO_P

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

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

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