recvfrom에서 0.0.0.0 ip로부터 무한으로 메시지를 받아요..
안녕하세요..
recvfrom함수를 사용하는데 0.0.0.0 ip와 0 port로 부터 무한으로
message를 수신하는데요..원인이 먼가요?.....
SrcInfo.SvcFeIpAddr= 0.0.0.0,Port:0
[A13Rcv] Udp Read Message Length = D'-1
이런식으로 print문이 무한으로 뜨네요..
도와주세요..ㅡㅜ..
코드는 다음과 같아요..
void *DmcA13MsgRcver()
{
int MsgLen = 0;
N_DLRA13_MSG A13DlrMsg;
struct sockaddr_in OtherDlrAddr;
int OtherDlrAddrLen;
UCHAR MsgCode = 0;
int nGanCnt = 0;
OtherDlrAddrLen = sizeof(struct sockaddr_in);
while(1) {
do{
errno = 0;
MsgLen = recvfrom((gMySockFd.A13Sockfd),&(A13DlrMsg.Context),MAX_LINE,0,
(struct sockaddr *)&OtherDlrAddr,&OtherDlrAddrLen);
if(MsgLen < 0 ) {
PrintDmc(DBG_L1,DBG_NULL, "[A13Rcv]\t Rcv from error : %s\n", strerror(errno));
}
}while( errno == EINTR );
PrintDmc(DBG_L3,DBG_NULL,"[A13Rcv]\t Rcv A13 Msg's Len From Socket D'%d \n",MsgLen);
DmcMakeRcvA13DlrMsg(&A13DlrMsg,OtherDlrAddr,MsgLen,nGanCnt);
으흠..
recvfrom의 반환값이 -1 인걸로 보아서 에러인거 같은데요.
댓글 달기