반응형
getpeername()
int getpeername(int sockfd, struct sockaddr *addr, socklen_t *addrlen);
- sockfd: 정보를 얻고자 하는 소켓의 파일 디스크립터
- addr: 원격 호스트 주소 정보를 저장할 sockaddr 구조체 포인터. 주로 struct sockaddr_in 변수를 만들고 (struct sockaddr*)로 캐스팅하여 사용함
- addrlen: 구조체의 크기를 나타내는 변수 주소, sizeof 연산자 사용
사용 예시.
struct sockaddr_in serverAddr;
socklen_t addrLen = sizeof(serverAddr);
// 연결된 원격 호스트 정보 얻기
if (getpeername(sockfd, (struct sockaddr*)&serverAddr, &addrLen) == -1) {
perror("getpeername");
close(sockfd);
exit(EXIT_FAILURE);
}
printf("Remote IP Address: %s\n", inet_ntoa(serverAddr.sin_addr));
printf("Remote Port: %d\n", ntohs(serverAddr.sin_port));
반응형
'프로그래밍 > 네트워크 프로그래밍' 카테고리의 다른 글
| 윈도우 소켓 ] blocking / non-blocking 소켓 사용 시 소켓함수의 리턴 조건 (0) | 2023.12.24 |
|---|---|
| 윈도우 소켓 ] select 입출력 모델 (0) | 2023.11.26 |
| 윈도우 소켓 ] 논블로킹 소켓, ioctlsocket, 소켓 함수의 리턴 조건과 WSAEWOULDBLOCK이 리턴되는 상황 (0) | 2023.10.02 |
| 윈도우 소켓 ] 소켓 옵션, setsockopt, getsockopt, SOL_SOCKET 옵션들 (0) | 2023.10.01 |
| 윈도우 소켓 ] connect 비동기로 처리하기 (0) | 2023.09.30 |