#ifndef _SOCKET_HEAD_FILE
#define _SOCKET_HEAD_FILE
//////////////////////////////////////////////////////////////////////////////////
//公共定义
#include "Commom/All_Include.h"
//关闭原因
#define SHUT_REASON_INSIDE 0 //内部原因
#define SHUT_REASON_NORMAL 1 //正常关闭
#define SHUT_REASON_REMOTE 2 //远程关闭
#define SHUT_REASON_TIME_OUT 3 //网络超时
#define SHUT_REASON_EXCEPTION 4 //异常关闭
//////////////////////////////////////////////////////////////////////////////////
//公共定义
//网络状态
#define SOCKET_STATUS_IDLE 0 //空闲状态
#define SOCKET_STATUS_WAIT 1 //等待状态
#define SOCKET_STATUS_CONNECT 2 //连接状态
//连接错误
#define CONNECT_SUCCESS 0 //连接成功
#define CONNECT_FAILURE 1 //连接失败
#define CONNECT_EXCEPTION 2 //参数异常
#define CONNECT_PROXY_FAILURE 3 //连接成功
#define CONNECT_PROXY_USER_INVALID 4 //用户无效
//////////////////////////////////////////////////////////////////////////////////
//网络接口
class ITCPSocketSink
{
//网络事件
public:
//连接事件
virtual bool OnEventTCPSocketLink(WORD wSocketID, INT nErrorCode) = 0;
//关闭事件
virtual bool OnEventTCPSocketShut(WORD wSocketID, BYTE cbShutReason) = 0;
//读取事件
virtual bool OnEventTCPSocketRead(WORD wSocketID, TCP_Command Command, VOID * pData, WORD wDataSize) = 0;
};
//网络接口
class ITCPSocket
{
//配置接口
public:
//设置标识
virtual VOID SetSocketID(WORD wSocketID) = 0;
//设置接口
virtual bool SetTCPSocketSink(ITCPSocketSink * pIUnknownEx) = 0;
//信息接口
public:
//网络状态
virtual BYTE GetSocketStatus() = 0;
//操作接口
public:
//连接操作
virtual BYTE Connect(std::string pszServerIP, WORD wPort) = 0;
//发送函数
virtual WORD SendData(WORD wMainCmdID, WORD wSubCmdID) = 0;
//发送函数
virtual WORD SendData(WORD wMainCmdID, WORD wSubCmdID, VOID * pData, WORD wDataSize) = 0;
// 关闭连接
virtual VOID CloseSocket()=0;
};
#endif
socket 头
最新推荐文章于 2023-09-05 16:27:44 发布