?? znnet.h
字號:
/*=================================================*\
| BREW Net Lib |
|---------------------------------------------------|
| 作者 : Zane |
| 最初版本日期 : 2004 - 3 - 16 |
| 更新日期 : 2004 - 3 - 18 |
| 版本 : 0.01 build 0011 |
|---------------------------------------------------|
| 用法 : |
| |
| 先調用InitNet()初始化,然后用Connect()建立連接。 |
| 連接建立好之后,可以用NetWrite()寫數據到連接或者 |
| 用NetRead()從連接讀取數據。網絡使用完畢后,使用 |
| ReleaseNet()釋放。 |
| |
| 注意,在使用每一步之前,應該判斷上一步是否成功, |
| 每一步完成后,都將調用回調函數,在回調函數中判斷 |
| ZNNET結構的m_LastResult獲知這一步是否成功。 |
| 在回調函數被調用前,不要進行別的網絡操作,否則將 |
| 出錯! |
\*=================================================*/
#ifndef _ZN_NET_HEADER_
#define _ZN_NET_HEADER_
#include "AEEAppGen.h"
#include "AEENet.h"
#define _ZN_MAJOR_VERSION_ 0
#define _ZN_MINOR_VERSION_ 01
#define _ZN_MODIFY_VERSION_ 0011
#define _NET_TIMEOUT_ 30000
typedef enum _ERRCODE
{
ERR_SUCCESS, // 成功
ERR_CREATENET, // 創建網絡失敗
ERR_CREATESOCKET, // 創建Socket失敗
ERR_GETHOSTNAME, // 獲取主機名失敗
ERR_CONNECT, // 連接失敗
ERR_WRITE, // 寫數據失敗
ERR_READ, // 讀數據失敗
ERR_TIMEOUT, // 超時錯誤
ERR_UNKNOWN // 未知錯誤
} ERRCODE;
typedef struct _ZNNET
{
AEEApplet m_App; // Applet
INetMgr * m_pNetMgr; // 網絡管理接口
ISocket * m_pSocket; // Socket接口
AEEDNSResult m_DNSRes; // DNS解析結果
uint16 m_nPort; // 端口(注意,使用的是Little Endian)
ERRCODE m_LastResult; // 上一次動作完成結果
PFNNOTIFY m_pFnResult; // 回調函數指針
void * m_pUserData; // 用于傳給回調函數的數據指針
uint16 m_nSentSize; // 已發送大小
uint16 m_nRecvSize; // 已接收大小
void * m_pData; // 數據緩沖指針
uint16 m_nSize; // 數據緩沖大小
uint16 m_nTransSize; // 數據傳輸大小
AEECallback m_ConnCBFunc; // 連接回調函數
} ZNNET, * PZNNET;
void ZnNet_InitNet(PZNNET pZnNet, AEEApplet App);
void ZnNet_Connect(PZNNET pZnNet, char * szAddress, uint16 nPort,
PFNNOTIFY pFnResCallBack, void * pUser);
void ZnNet_NetErr(PZNNET pZnNet, ERRCODE ErrCode);
void ZnNet_CBGetHostByName(PZNNET pZnNet);
void ZnNet_CBConnect(PZNNET pZnNet, int nErr);
void ZnNet_NetTimeOut(PZNNET pZnNet);
void ZnNet_NetWrite(PZNNET pZnNet, void * pData, uint16 nSize,
PFNNOTIFY pFnResCallBack, void * pUser);
void ZnNet_NetRead(PZNNET pZnNet, void * pBuf, uint16 nSize,
PFNNOTIFY pFnResCallBack, void * pUser);
void ZnNet_CBNetWrite(PZNNET pZnNet);
void ZnNet_CBNetRead(PZNNET pZnNet);
void ZnNet_ReleaseNet(PZNNET pZnNet);
#endif // #ifndef _ZN_NET_HEADER_
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -