2012-12-09 46 views
1

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

回答

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

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