保存socket的结构体
typedef struct
{
SOCKET nSocket;
char szIP[16];
}STRU_SOCKET_Handle,*LPSTRU_SOCKET_HANDLE;
一 客户端
1.1 外部接口
Encrypt_Create
创建套接字连接,设置心跳。
STRU_SOCKET_HANDLE Encrypt_Create(
char *sIP
)
Parameters
sIP
[in]服务器IP
Return Values
创建成功返回客户端句柄,作为之后发送数据函数的输入参数;失败返回-1。
Encrypt_Destroy
关闭套接字连接。
int Encrypt_Destroy(STRU_SOCKET_HANDLE*lpHandle);
Parameters
lpHandle
[in] 客户端句柄
Return Values
成功结束返回0,失败返回-1。
Encrypt_SendData
加密之后,发送已加密的数据
int Encrypt_SendData(char*szSendData);
Parameters
szSendData
[in]发送的数据
Return Values
发送成功返回发送的字节数,失败返回-1。
1.2 内部接口
EncryptData
加密数据。
int EncryptData(char*szDest, char *szSrc);
Parameters
szSrc
[in]待加密的数据
szDest
[out]已加密的数据
Return Values
已加密数据的长度。
SetSocketHeart
发送心跳数据,在Encrypt_SendData中调用。
intSetSocketHeart(SOCKET nCliSocket);
Parameters
nCliSocket
[in] 客户端套接字
Return Values
设置成功返回0。
二 服务端
2.1 外部接口
Decrypt_Create
创建服务端套接字连接,监听端口10502。
STRU_SOCKET_HANDLE Decrypt_Create();
Return Values
创建成功返回服务端句柄,作为之后接收数据函数的输入参数;失败返回-1。
Decrypt_RecvData
接收客户端的数据,并解密。
int RecvData(STRU_SOCKET_HANDLE*lpHandle, fDataCallBack cbDataCallBack);
Parameters
lpHandle
[in] 服务端套接字
CallBack Function
typedef void(CALLBACK * fHeartCallBack)(intnType, char *sBuffer, int nBufSize, void *reserver);
Callback Function Parameters
nType
[out]接收数据类型,1-心跳ACK数据 2-正常数据 3-其他错误信息
sBuf
[out]服务端传过来的数据
nSize
[out]数据大小
reserver
[in][out]保留
Return Values
设置成功返回0。
Decrypt_Destroy
关闭套接字连接。
int Decrypt_Destroy(STRU_SOCKET_HANDLE*lpHandle);
Parameters
lpHandle
[in] 服务端句柄
Return Values
成功结束返回0,失败返回-1。
2.2 内部接口
DecryptData
解密数据。
int DecryptData(char*szDest, char *szSrc);
Parameters
szSrc
[in]待解密的数据
szDest
[out]已解密的数据
Return Values
已解密数据的长度。