📄 nq_soc_core.h
字号:
#ifndef __NQ_HAPPY_NW_CORE_H__
#define __NQ_HAPPY_NW_CORE_H__
#define NQ_ZH_SOC_MAX 1 //用户可创建的socket的最大个数,目前支持的最大值为5
#define NQ_ZH_SOC_TIMER_OUT 60000 //网络操作超时
#define NQ_ZH_SUCCESS 0
#define NQ_ZH_FAILED -1
#define NQ_ZH_IGNORE 1
#define NQ_ZH_WAITING 2 //异步模式
typedef void (*NQ_zh_core_soc_notify_FuncPtr) (kal_int8 socket_index, kal_int32 error_code, kal_int32 sock_event);
typedef void (*NQ_zh_core_PsHttpCallBack)(kal_int32 result);
typedef kal_int32 (*NQ_zh_core_recv_is_finished_Ptr)(kal_int8 *recv_buffer,kal_int32 recv_len, kal_int32 *wap_flag);
typedef struct
{
NQ_zh_core_soc_notify_FuncPtr connect_notify;
NQ_zh_core_soc_notify_FuncPtr accept_notify;
NQ_zh_core_soc_notify_FuncPtr write_notify;
NQ_zh_core_soc_notify_FuncPtr read_notify;
NQ_zh_core_soc_notify_FuncPtr close_notify;
NQ_zh_core_soc_notify_FuncPtr error_notify;
NQ_zh_PsFuncPtr deactive_handler;
}nq_zh_core_soc_notify_handler;
typedef struct
{
kal_int8 socketId;
kal_int8 socStat;
kal_uint16 socket_timer;
kal_int8* recv_buf;
kal_int8* send_buf;
kal_int32 recv_len_max;
kal_int32 send_len;
kal_int32 send_offset;
kal_int32 recv_offset;
nq_zh_core_soc_notify_handler notify_handler;
NQ_zh_core_recv_is_finished_Ptr isFinished;
NQ_zh_core_PsHttpCallBack userCallback;
}nq_zh_soc_context;
typedef enum
{
NQ_ZH_SOC_STATE_CLOSE,
NQ_ZH_SOC_STATE_IDLE,
NQ_ZH_SOC_STATE_CONNECTING,
NQ_ZH_SOC_STATE_CONNECTED,
NQ_ZH_SOC_STATE_SENDING,
NQ_ZH_SOC_STATE_SENT,
NQ_ZH_SOC_STATE_RECVING,
NQ_ZH_SOC_STATE_RECVED,
NQ_ZH_SOC_STATE_ERR
}NQ_ZH_SOC_STAT_enum;
typedef enum
{
NQ_ZH_SOC_NOREAD,
NQ_ZH_SOC_NOWRITE,
NQ_ZH_SOC_READABLE,
NQ_ZH_SOC_WRITEABLE
}NQ_ZH_SOC_RW_STAT;
typedef enum
{
NQ_ZH_SOCKET_BLOCK, //阻塞方式(同步方式)
NQ_ZH_SOCKET_NONBLOCK //非阻塞方式(异步方式)
}NQ_ZH_COMM_STYLE;
extern kal_int8 nq_zh_core_createSocket(kal_int8 type);
extern kal_int8 nq_zh_core_connect(kal_int8 socket_index, kal_int8 type);
extern kal_int32 nq_zh_core_close(kal_int8 socket_index);
extern kal_int32 nq_zh_core_recv (kal_int8 socket_index, kal_uint8 *buf, kal_int32 len, kal_int32 *recv_len);
extern kal_int32 nq_zh_core_send(kal_int8 socket_index, kal_uint8 *buf, kal_int32 len, kal_int32 *sent_len);
extern kal_int8 nq_zh_core_send_req(kal_int8 *sendbuf, kal_int32 sendlen,
kal_int8 *recvbuf, kal_int32 max_recvlen,
NQ_zh_core_recv_is_finished_Ptr isFinished, NQ_zh_core_PsHttpCallBack usercallback);
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -