/**************************************************************** Function : Cloud_InitSocket Description : init socket connect to server. iSocketId : socketid. p_szServerIPAddr: server ip address like "192.168.1.1" port : server socket port. flag : =0 init socket in no block. =1 init socket in block. return : >0 the cloud socket id <=0 fail. ****************************************************************/ int32 Cloud_InitSocket( int32 iSocketId,int8 *p_szServerIPAddr,int32 port,int8 flag ) { int32 ret=0; ret = strlen( p_szServerIPAddr ); if( ret<=0 || ret> 17 ) return RET_FAILED; GAgent_Printf(GAGENT_DEBUG,"socket connect cloud ip:%s .",p_szServerIPAddr); if( iSocketId > 0 ) { GAgent_Printf(GAGENT_DEBUG, "Cloud socket need to close SocketID:[%d]", iSocketId ); close( iSocketId ); iSocketId = INVALID_SOCKET; } if( (iSocketId = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP))<=0) { GAgent_Printf(GAGENT_ERROR," Cloud socket init fail"); return RET_FAILED; } GAgent_Printf(GAGENT_DEBUG, "New cloud socketID [%d]",iSocketId); ret = GAgent_connect( iSocketId, port, p_szServerIPAddr,flag ); if ( RET_SUCCESS!=ret ) { close(iSocketId); iSocketId=INVALID_SOCKET; GAgent_Printf(GAGENT_ERROR, "Cloud socket connect fail with:%d", ret); return -3; } return iSocketId; }
/**************************************************************** Function : Cloud_InitSocket Description : init socket connect to server. iSocketId : socketid. p_szServerIPAddr: server ip address like "192.168.1.1" port : server socket port. flag : =0 init socket in no block. =1 init socket in block. return : >0 the cloud socket id <=0 fail. ****************************************************************/ int32 Cloud_InitSocket( int32 iSocketId,int8 *p_szServerIPAddr,int32 port,int8 flag ) { //static int32 lastC2CTime = -20; int32 ret=0; //struct sockaddr_t Msocket_address; ret = strlen( p_szServerIPAddr ); if( ret<=0 || ret> 17 ) return -1; GAgent_Printf(GAGENT_DEBUG,"socket connect cloud ip:%s .",p_szServerIPAddr); if( iSocketId > 0 ) { GAgent_Printf(GAGENT_DEBUG, "Cloud socket need to close SocketID:[%d]", iSocketId ); close( iSocketId ); iSocketId = 0; } if( (iSocketId = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP))<=0) { ERRORCODE GAgent_Printf(GAGENT_ERROR," Cloud socket init fail"); return -1; } GAgent_Printf(GAGENT_DEBUG, "New cloud socketID [%d]",iSocketId); ret = GAgent_connect( iSocketId, port, p_szServerIPAddr,flag ); if ( RET_SUCCESS!=ret ) { ERRORCODE close(iSocketId); iSocketId=-1; GAgent_Printf(GAGENT_ERROR, "Cloud socket connect fail with:%d", ret); return -3; } return iSocketId; }