|
안녕하세요 하나의 함수에서 소켓에 읽고 쓰고에
관하여 다시 질문을 올립니다.
제가 mfc로 짰던 소스는 다음과 같습니다.
void Test::Check_Servers()
{
CSocket socket;//소켓 선언
char cBuf[10];
memset (&cBuf, 0x00, sizeof(cBuf));
strcpy(cBuf, "ALIVE?");
socket.Create();
//------ 타임 아웃 설정 ------
int milli_secs = 0L;
int receive_time_out = 20;
if (receive_time_out < INT_MAX/1000)
milli_secs = receive_time_out * 1000;
else
milli_secs = 100000;
if (!socket.SetSockOpt(SO_RCVTIMEO, (const char*)&milli_secs, sizeof(milli_secs)))
{
TRACE("Failed Socket RCV Option.\n");
return;
}
if (!socket.SetSockOpt(SO_SNDTIMEO, (const char*)&milli_secs, sizeof(milli_secs)))
{
TRACE("Failed Socket SND Option.\n");
return;
}
if (!socket.Connect("111.111.111.111", 8000))//접속
{
TRACE("Failed Socket Connection.\n");
return;
}
//--- sending request message
if (socket.Send(&cBuf, sizeof(cBuf)) == SOCKET_ERROR)//송신
{
TRACE("Failed Socket Send.\n");
return;
}
memset (&cBuf, 0x00, sizeof(cBuf));
if (socket.Receive(&cBuf, sizeof(cBuf)) == SOCKET_ERROR)//수신
{
TRACE("Failed Socket Receive.\n");
return;
}
socket.Close();//소켓을 닫는다.
AfxMessageBox("Succeed!!");
}
물론 간략화 시킨 소스이고요.
위와 같이 하나의 함수 안에서 소켓에 쓰고 읽고를
하여서 해당 리모트의 상태를 알도록 하였습니다.
빌더에서는 다른 이벤트 핸들러에서 읽고 쓰는 것이
아닌 하나의 함수에서 위와 같은 일이 가능한가요?
|