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 ; }