void TNntpSockEvent::OnGetHost(const PSockHost& _SockHost){ if (_SockHost->IsOk()){ SockHost=_SockHost; SockMOut.Clr(); Sock=PSock(new TSock(this)); Sock->Connect(SockHost, NntpClt->GetSrvPortN()); Sock->PutTimeOut(10*1000); } else if (_SockHost->GetStatus()==shsTryAgain){ GetHostTrys++; if (GetHostTrys<MxGetHostTrys){ TSockHost::GetAsyncSockHost(NntpClt->GetSrvHostNm(), this); } else { OnNntpError("Can't get host info"); } } else { OnNntpError("Invalid Host"); } }
void TCltSockSockEvent::OnGetHost(const PSockHost& SockHost){ IAssert(Mode==csmGetingHost); if (SockHost->IsOk()){ Mode=csmConnecting; CltSock->Sock=PSock(new TSock(this)); CltSock->Sock->Connect(SockHost, CltSock->GetPortN()); CltSock->Sock->PutTimeOut(1000); } else if (SockHost->GetStatus()==shsTryAgain){ GetHostTrys++; if (GetHostTrys<MxGetHostTrys){ TSockHost::GetAsyncSockHost(CltSock->GetHostNm(), this); } else { OnError(-1, "Can't get host info"); } } else { OnError(-1, "Invalid host"); } }