亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? genericserver.h

?? 這是網(wǎng)絡(luò)實用編程的隨書的源代碼,歡迎下載
?? H
字號:
/****************************************************************************************
* ///////////////////////////////////////////////////////////////////////////////////////
*	Original Filename: 	genericserver.h
*
*	History:
*	Created/Modified by				Date			Main Purpose/Changes
*	Souren M. Abeghyan				2001/05/25		Interface for the CGenericServer class
*	
*	Comments:	
* \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
****************************************************************************************/
#if !defined(AFX_GENERICSERVER_H__6C21FFA2_485A_11D5_9692_0050BA8CD8A0__INCLUDED_)
#define AFX_GENERICSERVER_H__6C21FFA2_485A_11D5_9692_0050BA8CD8A0__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#define THREADKILL_TO		1000
#define THREADWAIT_TO		30000
#define TICK				100
#define THREADEXIT_SUCCESS	0x1234
#define SERVERPORT			80
#define MAX_BUFFER			100000
#define SENDBLOCK			200000
#define LOGFILENAME			"UMServer.log"


#pragma warning(disable:4786)

#include <winsock2.h>
#include <string>
#include <vector>
#include <deque>
#include <map>
#include <algorithm>
#include <list>
#include <functional>
#include <process.h>

#include "Log.h"

using namespace std;

struct NewConnectionTag;

struct ThreadTag
{
	HANDLE				hThread;
	unsigned int		threadID;
};


struct IDCompare : binary_function<ThreadTag, unsigned int, bool>
{
	bool operator()(const ThreadTag& _X, const unsigned int& _Y) const
	{
		return (_X.threadID == _Y); 
	}
};


typedef list<ThreadTag>					THREADLIST;
typedef list<HANDLE>					HANDLELIST;
typedef vector<string>					STRVECT;

struct StatisticsTag
{
	long					nClientsConnected;
	long					nTotalHits;
	double					nTotalSent;
	double					nTotalRecv;
	double					nErrosCount;
	long					nVisitors;
};


class CGenericServer : public CLog
{
public:
							CGenericServer();
	virtual					~CGenericServer();
public:						
	void					GetStats(StatisticsTag&);
	void					Reset();
	BOOL					Run(int, int);
	BOOL					Shutdown();
protected:					
	virtual int				GotConnection(char*, int)				= 0;
	virtual int				DataSent(DWORD)							= 0;
	virtual BOOL			IsComplete(string)						= 0;
	virtual BOOL			ParseRequest(string, string&, BOOL&)	= 0;
private:				
	static UINT	__stdcall	AcceptThread(LPVOID);
	static UINT __stdcall 	ClientThread(LPVOID);
	static UINT __stdcall 	HelperThread(LPVOID);
	
	BOOL					AddClient(SOCKET, char*, int);
	void					CleanupThread(WSAEVENT, SOCKET, NewConnectionTag*, DWORD);
	void					CleanupThread(WSAEVENT, WSAEVENT, SOCKET);
private:					
	HANDLE					ThreadA; // Accept Thread
	unsigned int			ThreadA_ID;
	HANDLE					ThreadC; // Cleanup Thread
	unsigned int			ThreadC_ID;
							
	WSAEVENT				ShutdownEvent;
							
	HANDLE					ThreadLaunchedEvent;
	HANDLE					WaitForCloseEvent;
							
	THREADLIST				ThreadList;
	HANDLELIST				HandleList;
							
	StatisticsTag			Stats;
	CRITICAL_SECTION		cs;
	CRITICAL_SECTION		_cs;

	int						ServerPort;
	int						PersistenceTO;

	BOOL					bRun;
protected:
	STRVECT					Visitors;
};

struct NewConnectionTag
{
	CGenericServer			*pGenericServer;
	SOCKET					s;
};


#endif // !defined(AFX_GENERICSERVER_H__6C21FFA2_485A_11D5_9692_0050BA8CD8A0__INCLUDED_)

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品亚洲一区二区三区在线 | 亚洲午夜免费视频| 欧美私模裸体表演在线观看| 国内精品伊人久久久久av影院 | 国产精品传媒入口麻豆| 欧美日韩亚州综合| 国产乱码精品一区二区三| 亚洲日本在线天堂| 欧美日韩精品一区二区三区蜜桃 | 国产一区美女在线| 亚洲激情成人在线| 欧美大片顶级少妇| 色香蕉久久蜜桃| 激情丁香综合五月| 中文字幕一区在线| 久久久亚洲综合| 51精品秘密在线观看| 91丨九色丨尤物| 久久er99热精品一区二区| 亚洲成年人影院| 国产精品视频第一区| 日韩一区二区麻豆国产| 久久久久久久久久电影| 欧美亚男人的天堂| 99精品视频一区| 国产在线视视频有精品| 亚洲影院在线观看| 国产精品日韩成人| 2欧美一区二区三区在线观看视频| 欧美日韩视频在线观看一区二区三区| 丰满少妇在线播放bd日韩电影| 精品一区二区日韩| 日本欧美久久久久免费播放网| 日韩电影在线观看网站| 日韩理论在线观看| 欧美成人精品福利| 欧美成人在线直播| 91麻豆精品国产综合久久久久久| 在线观看免费亚洲| 色婷婷综合中文久久一本| 91视频观看视频| 成人av在线一区二区三区| 国产激情精品久久久第一区二区| 老司机一区二区| 婷婷一区二区三区| 久久精品国产在热久久| 免费在线成人网| 狠狠网亚洲精品| 久久精品99久久久| 国产精品18久久久久久久久久久久| 免费成人结看片| 日本人妖一区二区| 精品无人码麻豆乱码1区2区| 久久精品国产色蜜蜜麻豆| 久久精品久久久精品美女| 久久91精品久久久久久秒播| 久久精工是国产品牌吗| 粉嫩av一区二区三区| 国产91精品露脸国语对白| 久久激五月天综合精品| 国产精品亚洲成人| 国产一区二区三区在线观看精品| 狠狠色丁香婷婷综合久久片| 日韩成人午夜精品| 麻豆91在线看| 免费观看30秒视频久久| 免费日本视频一区| 国内成+人亚洲+欧美+综合在线 | 欧美一区二区三区系列电影| 日韩美女一区二区三区四区| 精品国产一区二区亚洲人成毛片| 国产欧美1区2区3区| 国产精品福利一区| 国产精品每日更新在线播放网址| 一区二区三区电影在线播| 性久久久久久久久| 精品亚洲国内自在自线福利| 国产成+人+日韩+欧美+亚洲| 91亚洲资源网| 欧美妇女性影城| 久久久久久久久久久黄色| 国产精品色在线观看| 亚洲欧洲日韩在线| 麻豆91在线播放免费| 成人黄动漫网站免费app| 欧美日韩国产综合一区二区| 日韩网站在线看片你懂的| 国产精品久久久久aaaa| 亚洲高清免费视频| 成人性视频网站| 久久久久久9999| 亚洲成av人片观看| 国产一区二区三区香蕉| 国产电影一区二区三区| 在线日韩国产精品| 欧美va亚洲va香蕉在线| 一区二区三区精品| 国产一区亚洲一区| 欧美三级电影一区| 久久久久久久久久美女| 亚洲国产va精品久久久不卡综合| 国内精品不卡在线| 88在线观看91蜜桃国自产| 国产女人18毛片水真多成人如厕 | 国产一区二区h| 精品视频在线免费观看| 久久久不卡影院| 秋霞影院一区二区| 99精品久久久久久| 欧美日韩精品一区二区在线播放| 中文字幕一区视频| 国产麻豆9l精品三级站| 91精品国产综合久久精品| 《视频一区视频二区| 国产成人自拍在线| 欧美精品在线视频| 一二三区精品福利视频| 国产成人亚洲综合色影视| 欧美一区二区三区白人| 亚洲美女视频在线观看| 成人免费毛片嘿嘿连载视频| 日韩一区二区三区视频在线 | 91丝袜国产在线播放| 精品少妇一区二区三区在线视频| 天堂久久久久va久久久久| 99精品视频在线免费观看| 亚洲欧洲日产国码二区| 精品一区二区三区av| 精品国产一区二区三区不卡| 亚洲一区二区不卡免费| 色94色欧美sute亚洲线路一久| 久久综合色8888| 五月天丁香久久| 在线精品视频免费观看| 久久久精品综合| 成人久久久精品乱码一区二区三区| 欧美日韩成人在线一区| 三级久久三级久久久| 91在线小视频| 一个色综合网站| 欧美影院一区二区三区| 亚洲成av人综合在线观看| 日本高清视频一区二区| 亚洲一区二区高清| 欧美性猛交xxxxxx富婆| 天堂蜜桃91精品| 6080午夜不卡| 极品尤物av久久免费看| 精品女同一区二区| 国产精品 日产精品 欧美精品| 精品国产精品网麻豆系列| 国内精品伊人久久久久av影院 | 日韩伦理电影网| 97超碰欧美中文字幕| 亚洲另类在线一区| 色婷婷综合久久久中文一区二区 | 日本va欧美va精品发布| 91精品一区二区三区久久久久久| 日本亚洲一区二区| 欧美mv和日韩mv国产网站| 免费人成网站在线观看欧美高清| 欧美日韩午夜精品| 精品在线播放午夜| 国产日产精品1区| 色婷婷av久久久久久久| 午夜电影一区二区三区| 日韩精品自拍偷拍| 国产一区二区毛片| 亚洲人123区| 欧美日韩午夜在线视频| 国产精品99久久久久| 日韩一区日韩二区| 91麻豆精品国产| 国产在线观看免费一区| 亚洲欧美偷拍卡通变态| 欧美日韩视频不卡| 国产乱码精品一区二区三区av| 国产精品色婷婷| 欧美女孩性生活视频| 激情小说欧美图片| 亚洲六月丁香色婷婷综合久久| 欧美日韩国产成人在线免费| 国产麻豆成人传媒免费观看| 国产精品初高中害羞小美女文| 91精品在线观看入口| 国产福利精品导航| 日韩综合小视频| 久久女同互慰一区二区三区| 欧美视频一二三区| 五月天久久比比资源色| 亚洲欧洲日韩av| 91精品国产综合久久久久久| 91在线云播放| 免费成人av在线播放| 国产精品成人午夜| 欧美在线色视频| av网站一区二区三区| 亚洲电影激情视频网站| 精品久久久久久综合日本欧美| 99视频一区二区|