8.Disconnect a server from the client

넷텐션

클라이언트 객체가 파괴되면 자동으로 서버와의 연결을 해제합니다. 이밖에 다른 연결 해제 상황은 서버와의 연결 해제하기 를 참고하십시오.

여기서는 서버와의 연결이 해제시 이벤트 핸들링을 하겠습니다.

서버에 다음 핸들러를 추가합니다.

// 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 폴더 내용을 따로 사용하시기 바랍니다.