제가 내부망에서 테스트 할때에는 그런 문제가 없었는데...
외부 IP를 가진 컴을 서버로 정하고 제 컴을 클라이언트로 하여
소켓 통신을 진행하였는데 이상하게도 소켓이 15분정도 지나니
(아무런 파켓도 주고받지 않았는데)
비정상 동작하더군요.
다시말하면 클라이언트에서 서버로 파켓송시하는 Send함수의 되돌림값은
정확히 정상값으로 나오는데 서버에서 받지 못하더군요..
그러나 15분미만이면 별일없어요..
혹시 소켓 초기화에 문제가 잇지 않을가요?
제 초기화 코드는 다음과 같습니다.
WSADATA WsaData;
if (WSAStartup(MAKEWORD(2, 2), &WsaData))
if (WSAStartup(MAKEWORD(1, 1), &WsaData)) return FALSE;
원래 그럴리가
원래 그럴리가 있겠어요..
뭔가 원인이 있겠죠..
뭐가 원인일가요?
제가 내부망에서 테스트 할때에는 그런 문제가 없었는데...
외부 IP를 가진 컴을 서버로 정하고 제 컴을 클라이언트로 하여
소켓 통신을 진행하였는데 이상하게도 소켓이 15분정도 지나니
(아무런 파켓도 주고받지 않았는데)
비정상 동작하더군요.
다시말하면 클라이언트에서 서버로 파켓송시하는 Send함수의 되돌림값은
정확히 정상값으로 나오는데 서버에서 받지 못하더군요..
그러나 15분미만이면 별일없어요..
혹시 소켓 초기화에 문제가 잇지 않을가요?
제 초기화 코드는 다음과 같습니다.
WSADATA WsaData;
if (WSAStartup(MAKEWORD(2, 2), &WsaData))
if (WSAStartup(MAKEWORD(1, 1), &WsaData)) return FALSE;
그리고 클라이언트 쪽 send함수는 다음과 같구요..
if( send( *pock, (PCHAR)pBuf,SendLen,0 )!= SendLen)
{
printf("error");
}
printf("send sueccess!");
RecvLen = recv(*pControlSock, (PCHAR)pRecvBuf, AutoMaxPacketLen, 0);
printf("Recv End!");
if(RecvLen )>0)printf("Recv sueccess!");
여기서 printf("send sueccess!") 까지는 실행되는데 그다음 부터 실행이
안되네요...
그리고 서버쪽에서 관찰하여도 파켓 오는 것 같지 않네요..
좀 도와줘요.....
댓글 달기