클라이언트 객체가 파괴되면 자동으로 서버와의 연결을 해제합니다. 이밖에 다른 연결 해제 상황은 서버와의 연결 해제하기 를 참고하십시오.
여기서는 서버와의 연결이 해제시 이벤트 핸들링을 하겠습니다.
서버에 다음 핸들러를 추가합니다.
// set a routine for client leave event. srv->OnClientLeave = [](CNetClientInfo *clientInfo, ErrorInfo *errorInfo, const ByteArray& comment) { printf("Client %d disconnected.\n", clientInfo->m_HostID); };
클라이언트에 다음 핸들러를 추가합니다.
// set a routine for network disconnection. netClient->OnLeaveServer = [&](ErrorInfo *errorInfo) { // lock is needed as above. CriticalSectionLock lock(g_critSec, true); // show why disconnected. cout << "OnLeaveServer: " << StringT2A(errorInfo->m_comment).GetString() << endl; // let main loop exit isConnected = false; keepWorkerThread = false; };
자세한 내용은 14. Disconnecting from server 를 참고하시기 바랍니다.
이제 만들어진 프로그램을 실행해 보시기 바랍니다!
본 튜토리얼은 include 구문 사용 등 여타 세부 사항들에 대해서는 설명을 생략하였습니다. 따라서 필요시 Sample/Simple 폴더 내용을 따로 사용하시기 바랍니다.