Return TypeFunction nameArguments
hzEcodehzTcpClient::ConnectIP(const hzIpaddr&,unsigned int,unsigned int,unsigned int,)

Declared in file: hzTcpClient.h
Defined in file : hzTcpClient.cpp

Function Logic:

0:START 1:m_nSock 2:m_nPort==nPort 3:Return E_OK 4:hzString::Clear m_pHost hzTcpClient::Close 5:m_nPort memset m_SvrAddr memcpy htons m_SvrAddr 6:(m_nSock=socket(AF_INET,SOCK_STREAM,0))<0 7:Return hzerr(E_NOSOCKET,Could not create socket (errno=%d),errno) 8:connect(m_nSock,(SOCKADDR*)&m_SvrAddr,sizeof(m_SvrAddr))<0 9:Return hzerr(E_HOSTFAIL,Could not connect to host [%s] on port %d (errno=%d),*m_Hostname,m_nPort,errno) 10:hzTcpClient::SetRecvTimeout rc 11:rc==E_OK 12:hzTcpClient::SetSendTimeout rc 13:Return E_OK

Function body:

hzEcode hzTcpClient::ConnectIP (const hzIpaddr& ipa, unsigned int nPort, unsigned int nTimeoutR, unsigned int nTimeoutS)
{
   _hzfunc("hzTcpClient::ConnectIP") ;
   hzEcode rc = E_OK ;
   if (m_nSock)
   {
       if (m_nPort == nPort)
           return E_OK ;
       m_Hostname.Clear() ;
       m_pHost = 0;
       Close() ;
   }
   m_nPort = nPort ;
   memset(&m_SvrAddr, 0,sizeof(m_SvrAddr)) ;
   m_SvrAddr.sin_family = AF_INET ;
   memcpy(&m_SvrAddr.sin_addr, m_pHost->h_addr, m_pHost->h_length) ;
   m_SvrAddr.sin_port = htons(nPort) ;
   if ((m_nSock = socket(AF_INET, SOCK_STREAM, 0))< 0)
       return hzerr(E_NOSOCKET, "Could not create socket (errno=%d)", errno) ;
   if (connect(m_nSock, (SOCKADDR*) &m_SvrAddr, sizeof(m_SvrAddr)) < 0)
       return hzerr(E_HOSTFAIL, "Could not connect to host [%s] on port %d (errno=%d)", *m_Hostname, m_nPort, errno) ;
   rc = SetRecvTimeout(nTimeoutR) ;
   if (rc == E_OK)
       rc = SetSendTimeout(nTimeoutR) ;
   return E_OK ;
}