| | |
| | | |
| | | HIDO_UINT8 l_au8SendQueueBuf[SOCKET_SEND_QUEUE_BUF_SIZE]; |
| | | HIDO_UINT8 l_au8RecvQueueBuf[SOCKET_RECV_QUEUE_BUF_SIZE]; |
| | | |
| | | HIDO_BOOL m_bUseHeartbeat; |
| | | HIDO_UINT32 m_u32HeartbeatFreq; |
| | | HIDO_CHAR m_acHeartbeatData[128]; |
| | | }ST_SocketData; |
| | | |
| | | /******************************************************************************* |
| | |
| | | } |
| | | |
| | | pstSocketData->m_eState = SOCKET_STATE_CONNECTED; |
| | | |
| | | #if 0 |
| | | /* 重置队列 */ |
| | | HIDO_VLQInit(&pstSocketData->m_stSendQueue, pstSocketData->l_au8SendQueueBuf, |
| | | SOCKET_SEND_QUEUE_BUF_SIZE, SOCKET_SEND_QUEUE_MEMBER_CNT); |
| | |
| | | HIDO_VLQInit(&pstSocketData->m_stRecvQueue, pstSocketData->l_au8RecvQueueBuf, |
| | | SOCKET_RECV_QUEUE_BUF_SIZE, SOCKET_RECV_QUEUE_MEMBER_CNT); |
| | | } |
| | | |
| | | #endif |
| | | /* 通知上层 */ |
| | | if(pstSocketData->m_fnEventProc != HIDO_NULL) |
| | | { |
| | |
| | | } |
| | | |
| | | /******************************************************************************* |
| | | * Function Name : Socket_UseHeartbeat |
| | | *******************************************************************************/ |
| | | HIDO_BOOL Socket_UseHeartbeat(HIDO_INT32 _i32SockID) |
| | | { |
| | | ST_SocketData *pstSocketData = &l_astSocketData[_i32SockID]; |
| | | |
| | | if(_i32SockID < 0 || _i32SockID >= SOCKET_NUM) |
| | | { |
| | | return HIDO_FALSE; |
| | | } |
| | | |
| | | return pstSocketData->m_bUseHeartbeat; |
| | | } |
| | | |
| | | /******************************************************************************* |
| | | * Function Name : Socket_SetHeartbeatData |
| | | *******************************************************************************/ |
| | | HIDO_INT32 Socket_HeartbeatConfig(HIDO_INT32 _i32SockID, HIDO_UINT8 *_pu8Data, HIDO_UINT32 _u32Len, HIDO_UINT32 _u32HeartbeatFreq) |
| | | { |
| | | ST_SocketData *pstSocketData = &l_astSocketData[_i32SockID]; |
| | | |
| | | if(_i32SockID < 0 || _i32SockID >= SOCKET_NUM) |
| | | { |
| | | return HIDO_ERR; |
| | | } |
| | | |
| | | pstSocketData->m_bUseHeartbeat = HIDO_TRUE; |
| | | pstSocketData->m_u32HeartbeatFreq = _u32HeartbeatFreq; |
| | | HIDO_UtilByteArrayToHexString(_pu8Data, _u32Len, pstSocketData->m_acHeartbeatData, sizeof(pstSocketData->m_acHeartbeatData), HIDO_FALSE); |
| | | |
| | | return HIDO_OK; |
| | | } |
| | | |
| | | /******************************************************************************* |
| | | * Function Name : Socket_GetHeartbeatFreq |
| | | *******************************************************************************/ |
| | | HIDO_UINT32 Socket_GetHeartbeatFreq(HIDO_INT32 _i32SockID) |
| | | { |
| | | ST_SocketData *pstSocketData = &l_astSocketData[_i32SockID]; |
| | | |
| | | if(_i32SockID < 0 || _i32SockID >= SOCKET_NUM) |
| | | { |
| | | return 300; |
| | | } |
| | | |
| | | return pstSocketData->m_u32HeartbeatFreq; |
| | | } |
| | | |
| | | /******************************************************************************* |
| | | * Function Name : Socket_GetHeartbeatFreq |
| | | *******************************************************************************/ |
| | | HIDO_CHAR *Socket_GetHeartbeatData(HIDO_INT32 _i32SockID) |
| | | { |
| | | ST_SocketData *pstSocketData = &l_astSocketData[_i32SockID]; |
| | | |
| | | if(_i32SockID < 0 || _i32SockID >= SOCKET_NUM) |
| | | { |
| | | return 300; |
| | | } |
| | | |
| | | return pstSocketData->m_acHeartbeatData; |
| | | } |
| | | |
| | | /******************************************************************************* |
| | | * Function Name : Socket_Recv |
| | | * Description : 从Socket接收队列中读取数据 |
| | | * Input : _i32Sock Socket描述符 |