SocketClient.h 1.98 KB
#pragma once
#include <string.h>
#include <HPSocket.h>
#include <iostream>

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);
};