|
client / server 프로그래밍에서
server는 client가 접속하면 스레드를 생성해서 처리해 주는
스레드 블럭킹 모드를 사용했습니다.
Form1에 올라가 있는 서버 소켓의 Get Thread 이벤트 함수에서
SocketThread = new TServerSocketThread(false, ClientSocket);
이렇게 해서 서버 소켓으로 들어온 클라이언트를 처리하기 위한 스레드를 생성하고
스레드가 실행 되면서 수행하는 내용은 아래와 같이 정의 했는데
void __fastcall TServerSocketThread::ClientExecute(void)
{
nTransfered = ClientSocket->ReceiveBuf(Buffer, sizeof(Buffer));
//이런식으로 클라이언트에서 온 데이타를 받고
Form1->ServerSocket1->Socket->SendBuf(rspBuf, 9);
//ack를 위와 같은 형식으로 보내는데
}
클라이언트에서 보내는 데이타는 받는데
서버에서 클라이언트로 ack는 보내지지 않습니다.(뻗어버립니다.)
이유를 모르겠습니다.
아시는 분은 가르쳐 주셨으면 좋겠네요.
그럼 이만.. 꾸벅.
|