더북(TheBook)

fromsockaddr 구조체의 포인터로, recvfrom() 함수가 데이터를 받았을 때 그 발신자의 주소와 포트를 채워줄 곳을 가리킨다. 이 구조체 값은 미리 초기화해 둘 필요가 없다. 이 부분을 오해하기 쉬운데, 여기에 주소를 넣어서 호출해도 그 주소에다 데이터를 보내 달라고 요청하는 것이 아니다. 그런 일은 가능하지 않다. UDP는 여러 발신자가 하나의 주소와 포트 조합에 패킷을 보낼 수 있으므로, 각각의 데이터그램이 어느 발신자로부터 수신되었는지 확인하는 용도로 이 파라미터에 주소와 포트를 채워 주는 것일 뿐이다.

fromlen은 위의 from 인자의 길이를 반환해 줄 정수 포인터이다. recvfrom() 함수가 from을 채울 일이 없었다면 fromlen 또한 채우지 않는다.

수행이 성공하면 recvfrom() 함수는 buf에 복사한 바이트의 길이를 리턴한다. 에러가 있었다면 -1을 리턴한다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.