一、事件源类:
class CDataTrans
{
public:
CDataTrans();
~CDataTrans();
bool Open(const unsigned int nDsnSvr, const int nPort, const int nHallId, const int nZoneId,const int nLableId);
void Close();
bool SendData(const char* buffer, const int length,int ,int);
bool SendData(const char* buffer, const int length,int ,int,int,int,const char* guid );
NET_STAT GetNetStat(void){ return m_DdsServerTrans.moNetStat; }
void TimeOutWork(void);
void Dump(void);
private:
void Login();
void KeepLive();
void Logout();
int UnPack(char * buffer , int& length);
bool ConnectServer(void);
public:
sigslot::signal2<char*, int> RecvCallback; -->定义一个信号槽函数模板
private:
unsigned int m_nDdsSvr;
uint16 m_nDdsPort;
CNetSocket m_DdsServerTrans;
INT64 mi64LastKeepLiveTime;
int m_ui32ZoneId;
int m_ui32HallId;
int m_ui32LableId;
};
二、 自己实现一个类
class CDnsCallBack:public sigslot::has_slots<> -->公开继承 信号槽类
{
public:
void OnReCall(char *RecvBuf, int nRecvBufLen) -->事件发生后回调的函数
{
}
};
三、连接信号槽
CDataTrans goDnsTrans;
goDnsTrans.RecvCallback.connect(&g_dnsBack, &CDnsCallBack::OnReCall)
事件源类对象 信号模板 自己实现类对象 自己实现类中的信号槽回调函数
四 产生信号
RecvCallback(buffer, length);
class CDataTrans
{
public:
CDataTrans();
~CDataTrans();
bool Open(const unsigned int nDsnSvr, const int nPort, const int nHallId, const int nZoneId,const int nLableId);
void Close();
bool SendData(const char* buffer, const int length,int ,int);
bool SendData(const char* buffer, const int length,int ,int,int,int,const char* guid );
NET_STAT GetNetStat(void){ return m_DdsServerTrans.moNetStat; }
void TimeOutWork(void);
void Dump(void);
private:
void Login();
void KeepLive();
void Logout();
int UnPack(char * buffer , int& length);
bool ConnectServer(void);
public:
sigslot::signal2<char*, int> RecvCallback; -->定义一个信号槽函数模板
private:
unsigned int m_nDdsSvr;
uint16 m_nDdsPort;
CNetSocket m_DdsServerTrans;
INT64 mi64LastKeepLiveTime;
int m_ui32ZoneId;
int m_ui32HallId;
int m_ui32LableId;
};
二、 自己实现一个类
class CDnsCallBack:public sigslot::has_slots<> -->公开继承 信号槽类
{
public:
void OnReCall(char *RecvBuf, int nRecvBufLen) -->事件发生后回调的函数
{
}
};
三、连接信号槽
CDataTrans goDnsTrans;
goDnsTrans.RecvCallback.connect(&g_dnsBack, &CDnsCallBack::OnReCall)
事件源类对象 信号模板 自己实现类对象 自己实现类中的信号槽回调函数
四 产生信号
RecvCallback(buffer, length);