arnetinterface.h
来自「wangchuanDll.rar 网络传输的DLL 源代码」· C头文件 代码 · 共 116 行
H
116 行
#ifndef ArNetInterfaceH
#define ArNetInterfaceH
#define NS_NET_BEGIN namespace NERCAR_NET {
#define NS_NET_END };
#define USE_NETPKG using namespace NERCAR_NET;
NS_NET_BEGIN
//-----------------Define DataTypes-----------------------------------------------------
struct ArSenderInfo_T
{
unsigned long ulAddress;
int iPort;
};
typedef void (__stdcall *pOnReceiveData)(char* pcData, int iLength, ArSenderInfo_T& Info, void* pPara);
typedef void (__stdcall *pOnConnect)(ArSenderInfo_T& RemoteInfo, void* pPara);
//---------------Define Interfaces------------------------------------------------------
//Define Interfaces of Server
class ArServer_T
{
public:
virtual bool __stdcall Create(int iPort) = 0;
virtual bool __stdcall Destroy(void) = 0;
virtual bool __stdcall Open(void) = 0;
virtual bool __stdcall Close(void) = 0;
virtual bool __stdcall SetMutiCastAdrr(int iAddr) = 0;//iAddr范围从 1到255
virtual bool __stdcall SetDataSocketOpt(bool bHasRcvBuffer = true, bool bHasSndBuffer = true,
bool bEnableLinger = true, int iUserRcvBufferLen = 1024) = 0;
virtual bool __stdcall SetMessageSocketOpt(bool bHasRcvBuffer = true, bool bHasSndBuffer = true,
bool bEnableLinger = true, int iUserRcvBufferLen = 1024) = 0;
virtual bool __stdcall SetMutiCastSocketOpt(bool bHasRcvBuffer = true, bool bHasSndBuffer = true,
bool bEnableLinger = true, int iUserRcvBufferLen = 1024) = 0;
virtual int __stdcall ClientNum(void) = 0;
virtual bool __stdcall ClientAddrss(int iIndex, unsigned long& ulAddress) = 0;
virtual bool __stdcall CloseClient(unsigned long ulClientAddr) = 0;
virtual int __stdcall SendData(unsigned long ulClientAddr, char* pcData, int iLength) = 0;
virtual int __stdcall SendDataPackage(unsigned long ulClientAddr,char* pcData, int iLength) = 0;
virtual int __stdcall BroadCastAllClients(char* pcData, int iDataLength) = 0;
virtual bool __stdcall OnReceiveData(pOnReceiveData func) = 0;
virtual bool __stdcall OnAccept(pOnConnect func) = 0;
virtual bool __stdcall OnDisconnect(pOnConnect func) = 0;
};
//---------------------------------------------------------
//Define Interfaces of Client
class ArClient_T
{
public:
virtual bool __stdcall Create(unsigned long ulAddress, int iPort) = 0;
virtual bool __stdcall Destroy(void) = 0;
virtual bool __stdcall Open(void) = 0;
virtual bool __stdcall SetMutiCastAdrr(int iAddr) = 0;//iAddr范围从 1到255
virtual bool __stdcall SetDataSocketOpt(bool bHasRcvBuffer = true, bool bHasSndBuffer = true,
bool bEnableLinger = true, int iUserRcvBufferLen = 1024) = 0;
virtual bool __stdcall SetMessageSocketOpt(bool bHasRcvBuffer = true, bool bHasSndBuffer = true,
bool bEnableLinger = true, int iUserRcvBufferLen = 1024) = 0;
virtual bool __stdcall SetMutiCastSocketOpt(bool bHasRcvBuffer = true, bool bHasSndBuffer = true,
bool bEnableLinger = true, int iUserRcvBufferLen = 1024) = 0;
virtual bool __stdcall Close(void) = 0;
virtual int __stdcall SendData(char* pcData, int iLength) = 0;
virtual int __stdcall SendDataPackage(char* pcData, int iLength) = 0;
virtual bool __stdcall OnReceiveData(pOnReceiveData func) = 0;
virtual bool __stdcall OnConnect(pOnConnect func) = 0;
virtual bool __stdcall OnDisconnect(pOnConnect func) = 0;
};
//---------------------------------------------------------
class ArNetTool_T
{
public:
virtual unsigned long __stdcall StrToAddress(char* strAddressInfo) = 0;
virtual bool _stdcall AddressToStr(unsigned long ulAddress, char* pStrAddress) = 0;
virtual bool __stdcall LocalAddress(unsigned long& ulAddress) = 0;
virtual bool __stdcall PingRemote(unsigned long ulAddress,int& iTime) = 0;
virtual bool __stdcall GetHostName(char* strName, int iStrLength) = 0;
virtual bool __stdcall ParseAddress(unsigned long ulAddress,
int* pa,
int* pb,
int* pc,
int* pd) = 0;
virtual bool __stdcall Destroy(void) = 0;
};
//---------------------------------------------------------
class ArNetFactory_T
{
public:
virtual ArServer_T* __stdcall CreateServer(void* pPara) = 0;
virtual ArClient_T* __stdcall CreateClient(void* pPara) = 0;
virtual ArNetTool_T* __stdcall CreateNetTool(void) = 0;
virtual bool __stdcall GetVersion(char* strVersion) = 0;
virtual bool __stdcall DestroyServer(ArServer_T* pServer) = 0;
virtual bool __stdcall DestroyClient(ArClient_T* pClient) = 0;
virtual bool __stdcall DestroyTool(ArNetTool_T* pTool) = 0;
virtual bool __stdcall Destroy(void) = 0;
};
NS_NET_END
#endif
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?