|
1:1 통신 프로그램을 짜고있는데, 서버쪽이 쉽지 않네요.
분면 Accept하는 부분에서 기다려야하는데 지 멋대로 내려가곤 하는데, 이거 어떻게 막을수 없을까요?
컴퓨터 한대로 테스트하는거라 IP 및 포트가 열려있어서 이렇게 멋대로 내려가는건지 모르겠어요.
잘 되다가 가끔씩 대기하지않고 혼자 내려가는데 도저히 모르겠네요;;;
뭔가 감잡히시는 분들은 조언좀 해주세요.
개발툴은 볼랜드 2010을 썼습니다.
main
{
byte *rcvbuf;
SOCKADDR_IN client_addr;
WinSockInitial();
ssock = OpenTCPSocket();
BindSocket(ssock, 9010);
while(isWork)
{
if(!SocketListenTCP(ssock))
{
ShowMessage("실패");
return;
}
1>> csock = accept(ssock, (SOCKADDR*)&client_addr, &clen); // 반응있음
if(csock > 1000000)
{
SockClose(csock);
continue;
}
// Receive
nRecvPacketSize = 9; //sizeof(cmdMessage);
rcvbuf = (Byte*)malloc(nRecvPacketSize);
memset(rcvbuf, 0x00,nRecvPacketSize);
if(listen(ssock, 5) == SOCKET_ERROR)
{
ShowMessage("ERROR");
}
int nRecvCount = ReceiveTCPData(csock, (char*)rcvbuf,
nRecvPacketSize, -10);
int length = strlen(rcvbuf);
if(length <= 0)
{
Sleep(1);
continue;
}
}
|