⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rawsocketserverworker.h

📁 pocket pc 2003系统下的数据通讯和文件传输
💻 H
字号:
#pragma once
#ifndef __CWizRawSocketServerWorker_H
#define __CWizRawSocketServerWorker_H

#include "ThreadDispatcher.h"
#include "RawSocket.h"

/////////////////////////////////////////////////////////////////////////////
// class CWizRawSocketServerWorker
class CWizRawSocketListener : public CWizMultiThreadedWorker
{
public:
	// Exceptions hierarchy
	struct Xeption {
		Xeption(CString error)
		{
			MessageBox(NULL, error, "Error", MB_OK | MB_ICONINFORMATION );
			exit(0);
		}
	};
	struct XCannotCreate { XCannotCreate() { Xeption("Create socket error!"); }	};
	struct XCannotSetHook { XCannotSetHook() { Xeption("Can not set hook!"); } };
	struct XCannotSetHookEvent { XCannotSetHookEvent() { Xeption("Can not set hook event!"); } };
	struct XCannotListen { XCannotListen() { Xeption("Can not listen socket!"); } };

	CWizRawSocketListener (int nPort); // Constructor do almost nothing

	virtual ~CWizRawSocketListener ();
public:
// Operations:
	void ShutDown(int);
	void Close(int);
// Virtual operations:
	// Interface for CWizThreadDispatcher
	virtual void Prepare();
	virtual BOOL WaitForData (int&,HANDLE hShutDownEvent);
	virtual BOOL TreatData   (int, HANDLE hShutDownEvent, HANDLE hDataTakenEvent);
	virtual void CleanUp();
	// Pure virtual function - do something
	// with the socket connected to the client.
	// Should return TRUE if needs to continue I/O.
	virtual BOOL ReadWrite   (int,CWizReadWriteSocket& socket) = 0;
protected:

// Implementation:
// Virtual implementation:
protected:
// Data Members:
	CWizSyncSocket*				m_pListenSocket;
	int							m_nPort;
public:
	SOCKET						m_hAcceptedSocket;
public:
	CWizReadWriteSocket *		clientSide[MAXCLIENT];

};

/////////////////////////////////////////////////////////////////////////////
#endif // __CWizRawSocketServerWorker_H


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -