2012-12-09 4 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에 의해 정의된다. 하지만 소켓 프로토콜을 사용하는 더 이식 가능한 방법이 있는지 여부는 알 수 없습니다.

관련 문제