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

📄 recvmessthread.h

📁 基于Linux下Epoll技术的EchoSvr
💻 H
字号:
/// /// @file TaskThread.h/// @brief 任务类 , 接受client发的消息进行处理/// @author guozhiming/// @date 2007-05-17/// #ifndef __TASKTHREAD__#define __TASKTHREAD__#include "def.h"#include "Thread.h"#include "ThreadPool.h"#include "Lock.h"#include "DMCThread.h"#include "LogThread.h"class G_ThreadPool;class G_RecvMessThread : public G_Thread{	public:		/// @brief 构造函数		G_RecvMessThread(G_ThreadPool*,DMCThread*,LogThread*,int,int,int);		/// @brief 析构函数		~G_RecvMessThread();		/// @brief 主线程运行		void Run();		/// @brief 填加套接字		/// 		/// @param nSocket 套接字		void addSocket(int,char*,unsigned short);				/// @brief 获得连接的客户端数目		/// 		/// @return 数目		G_Lock counterLock;		unsigned int getCounter();	private:		void readBindReq(char* buffer,struct BINDREQ* bindReq);		void makeBindRep(char* buffer,struct BINDREP* bindRep);				void readValidateReq(char* buffer,struct VALIDATEREQ* );		void makeValidateRep(char* buffer,struct VALIDATEREP* );				bool setNonBlock(int sockfd);					void subCounter();				bool addEvent(int nSocket,unsigned int event);		bool modEvent(int nSocket,unsigned int event);		bool delEvent(int nSocket);					void closeSocket(int nSocket,struct epoll_event* ev);						void bind(char* buffer,struct SESSION* session,int fd);		void validate(char* buffer,struct SESSION* session,int fd);		int connectTarget(struct sockaddr_in* servaddr);				void checkTunnel(struct SESSION* session,int fd,struct epoll_event* ev,bool isReading);		void swapRead(struct SESSION* session,int fd,struct epoll_event* ev,bool isClient);		void swapWrite(struct SESSION* session,int fd,struct epoll_event* ev,bool isClient);				void read(struct epoll_event* ev);		void write(struct epoll_event* ev);						int sendn(int nSocket , char *str , unsigned int nLen);		int recvn(int nSocket , char *str , unsigned int nLen);			void ReportAuthResult(unsigned short id,int result);		int epfd;		struct epoll_event events[256];		char buffer[65536];		unsigned int counter;				G_ThreadPool *g_threadPool;		DMCThread*   dmcThread;		LogThread*   logThread;		int authTimeout;		int normalTimeout;};#endif

⌨️ 快捷键说明

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