현재 소켓이 사용중인지 아닌지 어떻게 알 수 없을까?
==> 다음과 같이 간단히 해결할 수 있습니다. 소켓 객체는 멤버변수로 m_hSocket을 가지고 있는 데, 이 멤버는 현재 객체에 붙어있는 소켓의 핸들입니다. 이 소켓이 생성되고 소멸되지 않아서 현재 생존기간 중이라면 이 값은 결코 INVALID_SOCKET 이 아닙니다.
if(m_hSocket != INVALID_SOCKET)
{
// 소켓이 생존 중일때 처리.
}
else
{
// 소켓이 닫혔을 때 처리
}
주의할 것은, 소켓이 생존중이라고 해서 반드시 연결상태는 아니라는 것입니다. Close()를 호출하면 소켓핸들은 파괴되고, m_hSocket의 값은 INVALID_SOCKET 이 됩니다.
반응형
'Program > C & C++' 카테고리의 다른 글
MFC를 이용한 범용 소켓을 이용한 예제 (0) | 2011.07.30 |
---|---|
트레이 아이콘 만들기 (0) | 2011.07.29 |
mfc 마우스 파일 드래그 (0) | 2011.07.18 |
[MFC] Thread를 이용한 TCP기반 Receive()함수 구현 (0) | 2011.07.17 |
MFC UI 꾸미기 (0) | 2011.07.15 |