
socket_recvfrom 함수는 소켓에서 데이터를 수신하는 함수로, 반환값은 다음과 같습니다.
- 반환값 1: 수신한 데이터의 바이트 수
- 반환값 2: 수신한 데이터가 담긴 버퍼
- 반환값 3: 소켓의 주소 정보를 담은 구조체
이 값을 사용하기 위해서는 반환값 1을 통해 수신한 데이터의 크기를 확인하고, 반환값 2를 통해 수신한 데이터를 확인할 수 있습니다. 반환값 3을 통해 소켓의 주소 정보를 확인할 수 있습니다.
예를 들어, 다음과 같이 사용할 수 있습니다.
#hostingforum.kr
c
#include
#include
#include
#include
int main() {
int sockfd;
struct sockaddr_in addr;
socklen_t addrlen = sizeof(addr);
char buffer[1024];
// 소켓 생성 및 연결
sockfd = socket(AF_INET, SOCK_DGRAM, 0);
addr.sin_family = AF_INET;
addr.sin_port = htons(8080);
inet_pton(AF_INET, "127.0.0.1", &addr.sin_addr);
connect(sockfd, (struct sockaddr *)&addr, sizeof(addr));
// 데이터 수신
int bytes_received = recvfrom(sockfd, buffer, 1024, 0, (struct sockaddr *)&addr, &addrlen);
printf("Received %d bytes from %s:%dn", bytes_received, inet_ntoa(addr.sin_addr), ntohs(addr.sin_port));
printf("Received message: %sn", buffer);
return 0;
}
이 예제에서는 recvfrom 함수를 사용하여 데이터를 수신하고, 수신한 데이터의 크기와 내용을 확인합니다.
2025-08-08 17:47