UDP 통신중...recvfrom 대기현상

oblab의 이미지

UDP 통신중...멈춤현상이 나타나는데요

recvfrom 함수를 통해 데이터를 계속받고 출력하는 프로그램을 만들었는데요

6분정도 계속 출력하다가 갑자기 recvfrom에서 대기 상태로 빠져버리더라구요

그 상태에서 sendto은 정상적으로 동작하는데

read부분에서 갑자기 recvfrom 함수에서 멈춰버립니다.

UDP통신 여러 예제코드에 나와있는데로 코드를 만들었는데 갑자기 recvfrom에서 데이터를 못받는 현상이 나타나는 이유를 모르겠네요...

이런경험 있으신가요...

twinwings의 이미지

sendto가 정상적으로 작동하는 것, 맞나요?

sendto 리턴값부터 확인해보세요. sendbyte 값을 리턴 합니다.

0 또는 -1일 경우 sender 쪽에 문제가 있는 겁니다.

Necromancer의 이미지

그런경우는 보통 수신받은 데이터가 없을때 입니다.

소켓이 non-blocking일 경우는 그렇지 않는데 소켓을 만든뒤 옵션세팅 안하면 다 blocking입니다. 없으면 무한 대기.

Written By the Black Knight of Destruction