프로그래밍

 3198, 1/160 회원가입  로그인  
   chamchi
   http://none
   소켓프로그래밍 - recvfrom 이나 sendto 함수의 특징

http://www.hackerschool.org/HS_Boards/zboard.php?AllArticle=true&no=6388 [복사]


recvfrom 은 데이터가 들어 올 떄 까지 블로킹 되나요? (넌블로킹 특성을 지정 해 주지 않았을때)

sendto 는 어떤가요?

아직 특징을 잘 모르고 있는 것 같아서 이렇게 질문 올려 봅니다.

  Hit : 7188     Date : 2013/09/18 03:26



    
kumi123 글쎄요.. 전 그냥, udp 사용시에, 쓰는 입출력 함수라고만 배웠는데요 2013/09/20  
Chris Ruiel udp 의 sendto 가 block 을 할지 안할지는 OS 마다 조금씩 틀린것 같습니다.

Linux 의 경우 block 될 수 있고, 그것을 결정하는 요인은

socket 의 send buffer 가 꽉 차있냐 아니냐 입니다.

/proc/sys/net/core/wmem_max 값을 늘리신후,

socket 의 옵션중 SO_SNDBUF 값을 늘리시면 됩니다.

BSD 계열인 경우 아마 block 하지 않고 ENOBUFS 에러를 내는것 같습니다.

참고) 위의 얘기는 socket 이 blocking mode 로 동작할때를 가정한것입니다.

non-blocking mode 일 경우에는 달라지게 됩니다.

recveform 함수도 같은경우라고 보여 집니다^^
2013/09/27