| Return Type | Function name | Arguments |
|---|---|---|
| hzEcode | hzTcpClient::ConnectIP | (const hzIpaddr&,unsigned int,unsigned int,unsigned int,) |
Declared in file: hzTcpClient.h
Defined in file : hzTcpClient.cpp
Function Logic:
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 ;
}