没有多余的直接上代码,具体操作看注释。
///定义sockaddr_in
struct sockaddr_in tServerAddr;
memset(&tServerAddr, 0, sizeof(tServerAddr));
tServerAddr.sin_family = AF_INET;
tServerAddr.sin_port = htons(uiPort); ///服务器端口
tServerAddr.sin_addr.s_addr = inet_addr(cpcIPAddr); ///服务器ip
bzero(&(tServerAddr.sin_zero), 8);
//设置为非阻塞连接(5s超时)
struct timeval tTimeval = {5, 0};
socklen_t iLen = sizeof(tTimeval);
setsockopt(ptCommunicationSingle->iSockFd, SOL_SOCKET, SO_SNDTIMEO, &tTimeval, iLen);
///连接服务器,成功返回0,错误返回-1
/*阻塞情况下linux系统默认超时时间为75s*/
int iRst = connect(ptCommunicationSingle->iSockFd, (struct sockaddr *)&tServerAddr, sizeof(struct sockaddr_in));
if (iRst == 0)
{
}
22