#pragma once #include #include #include using namespace std; class ClientListenerImpl : public ITcpClientListener { public: // 5. process network events virtual EnHandleResult OnPrepareConnect(ITcpClient* pSender, CONNID dwConnID, SOCKET socket); virtual EnHandleResult OnConnect(ITcpClient* pSender, CONNID dwConnID); virtual EnHandleResult OnHandShake(ITcpClient* pSender, CONNID dwConnID); virtual EnHandleResult OnReceive(ITcpClient* pSender, CONNID dwConnID, int iLength); virtual EnHandleResult OnReceive(ITcpClient* pSender, CONNID dwConnID, const BYTE* pData, int iLength); virtual EnHandleResult OnSend(ITcpClient* pSender, CONNID dwConnID, const BYTE* pData, int iLength); virtual EnHandleResult OnClose(ITcpClient* pSender, CONNID dwConnID, EnSocketOperation enOperation, int iErrorCode); }; EnHandleResult ClientListenerImpl::OnPrepareConnect(ITcpClient* pSender, CONNID dwConnID, SOCKET socket) { return EnHandleResult(); } EnHandleResult ClientListenerImpl::OnConnect(ITcpClient* pSender, CONNID dwConnID) { return EnHandleResult(); } EnHandleResult ClientListenerImpl::OnHandShake(ITcpClient* pSender, CONNID dwConnID) { return EnHandleResult(); } EnHandleResult ClientListenerImpl::OnReceive(ITcpClient* pSender, CONNID dwConnID, int iLength) { return EnHandleResult(); } EnHandleResult ClientListenerImpl::OnSend(ITcpClient* pSender, CONNID dwConnID, const BYTE* pData, int iLength) { return EnHandleResult(); } EnHandleResult ClientListenerImpl::OnClose(ITcpClient* pSender, CONNID dwConnID, EnSocketOperation enOperation, int iErrorCode) { return EnHandleResult(); } class UdpNodeListenerImpl : public CUdpNodeListener { public: virtual EnHandleResult OnReceive(IUdpNode* pSender, LPCTSTR lpszRemoteAddress, USHORT usRemotePort, const BYTE* pData, int iLength); virtual EnHandleResult OnError(IUdpNode* pSender, EnSocketOperation enOperation, int iErrorCode, LPCTSTR lpszRemoteAddress, USHORT usRemotePort, const BYTE* pData, int iLength); };