Linux 소켓 API 용 C++ 래퍼를 작성하려고합니다. socket()에서 adress family (AF)가 요청됩니다. 소켓의 생성자에서 이미 제공 되었기 때문에 AF를 connect() 시그니처에 다시 요구하고 싶지 않습니다. 그렇다면 기존 소켓에서 AF를 얻으려면 어떻게해야합니까?소켓에서 주소 패밀리를 가져옵니다. Linux
3
A
답변
6
젠장. 30 분 경 검색했습니다. 지금이 질문을 게시 한 후 나는 답을 찾았다.
옵션 SO_DOMAIN와getsockopt([...]) POSIX 표준 getsockname을 도움이 될
+3
이 옵션은 리눅스에만있는 것으로 보이므로주의하십시오. 래퍼 클래스를 작성하는 경우 형식을 멤버 변수로 저장할 수 없습니까? –
+0
좋은 아이디어 ... 감사합니다. – ManuelSchneid3r
5
(socket options 참조)
int getsockname(int socket, struct sockaddr *restrict address,
socklen_t *restrict address_len);
그것 (성공시) 주어진 구조체 SOCKADDR를 입력합니다 :
struct sockaddr {
unsigned short sa_family; // <- that's what you looking for
char sa_data[14];
}
관련 문제
- 1. C 소켓에서 IP 주소 추출하기
- 2. 소켓에서 netdevice linux 로의 제어 흐름
- 3. ARM linux : 프로세스 주소 공간
- 4. 다중 스레드 Linux 프로세스의 주소 공간 레이아웃
- 5. IPV6 IP 주소 비교를위한 Linux 명령
- 6. Linux sys_call_table 상대 주소 지정 립
- 7. 여러 프로세스에 대한 Linux 커널 논리 주소
- 8. 소켓에서 readv가 반환됩니다. ENOENT
- 9. 소켓에서 'ostream'을 만들려면 어떻게해야합니까?
- 10. cql에서 열 패밀리를 생성 하시겠습니까?
- 11. 추상 클래스와 패밀리를 나타내는 인터페이스
- 12. 글꼴 패밀리를 설정하는 방법은 무엇입니까?
- 13. Android에서 Typeface 객체 패밀리를 확인하십시오.
- 14. 소켓에서 네트워크 스트림 읽기
- 15. 소켓에서 읽기
- 16. (Linux) PID가 붙어있는 USB 장치에서/dev/input/eventX를 가져옵니다. VID
- 17. .NET 소켓에서 AddressFamily.FireFox는 무엇을 언급합니까?
- 18. 소켓에서 멈춤. 예외없이 수신
- 19. L2CAP 소켓에서 재전송 취소하기
- 20. x86 linux - 주소 힌트가있는 사용자 정의 malloc을 만드는 방법
- 21. IP 주소 받기 (Linux 서버에서 ASP.NET을 사용할 수없는 경우)
- 22. i386 linux 커널 용 qemu를 사용하는 주소 공간 식별자
- 23. pthread 컴파일러 옵션을 사용하는 Linux/gcc : null 주소 "00000000"
- 24. 주소 주소
- 25. MAC 주소 (IP 주소 :
- 26. 거리/집을 Google지도에서 가져옵니다.
- 27. 그래프 API에서 패밀리를 가져 오는 방법은 무엇입니까?
- 28. exec() 패밀리를 사용하여 "cd"명령을 실행하십시오.
- 29. Hadoop Hbase : 테이블간에 열 패밀리를 확산하지 않았습니까?
- 30. 일관성 정족수를 사용하여 전체 열 패밀리를 나열하십시오.
이 기억 래퍼의 멤버 변수에 주소 패밀리? – nos