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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? socketcomm.h

?? 關于CE下通訊方面的代碼
?? H
字號:
///////////////////////////////////////////////////////////////////////////////
// FILE : SocketComm.h
// Header file for CSocketComm class
// CSocketComm
//     Generic class for Socket Communication
///////////////////////////////////////////////////////////////////////////////

#ifndef _SOCKETCOMM_H_
#define _SOCKETCOMM_H_
#include <list>

#include <stdlib.h>
#include <winsock2.h>
#pragma comment(lib, "ws2_32")

// Event value
#define EVT_CONSUCCESS		0x0000	// Connection established
#define EVT_CONFAILURE		0x0001	// General failure - Wait Connection failed
#define EVT_CONDROP			0x0002	// Connection dropped
#define EVT_ZEROLENGTH		0x0003	// Zero length message


#define BUFFER_SIZE		MAX_PATH
#define HOSTNAME_SIZE	MAX_PATH
#define STRING_LENGTH	40

struct SockAddrIn : public SOCKADDR_IN {
public:
	SockAddrIn() { Clear(); }
	SockAddrIn(const SockAddrIn& sin) { Copy( sin ); }
	~SockAddrIn() { }
	SockAddrIn& Copy(const SockAddrIn& sin);
	void	Clear() { memset(this, 0, sizeof(SOCKADDR_IN)); }
	bool	IsEqual(const SockAddrIn& sin);
	bool	IsGreater(const SockAddrIn& sin);
	bool	IsLower(const SockAddrIn& pm);
	bool	IsNull() const { return ((sin_addr.s_addr==0L)&&(sin_port==0)); }
	ULONG	GetIPAddr() const { return sin_addr.s_addr; }
	short	GetPort() const { return sin_port; }
	bool	CreateFrom(LPCTSTR sAddr, LPCTSTR sService, int nFamily = AF_INET);
	SockAddrIn& operator=(const SockAddrIn& sin) { return Copy( sin ); }
	bool	operator==(const SockAddrIn& sin) { return IsEqual( sin ); }
	bool	operator!=(const SockAddrIn& sin) { return !IsEqual( sin ); }
	bool	operator<(const SockAddrIn& sin)  { return IsLower( sin ); }
	bool	operator>(const SockAddrIn& sin)  { return IsGreater( sin ); }
	bool	operator<=(const SockAddrIn& sin) { return !IsGreater( sin ); }
	bool	operator>=(const SockAddrIn& sin) { return !IsLower( sin ); }
	operator LPSOCKADDR() { return (LPSOCKADDR)(this); }
	size_t	Size() const { return sizeof(SOCKADDR_IN); }
	void	SetAddr(SOCKADDR_IN* psin) { memcpy(this, psin, Size()); }
};

typedef std::list<SockAddrIn> CSockAddrList;

class CSocketComm
{
public:
	CSocketComm();
	virtual ~CSocketComm();

	bool IsOpen() const;	// Is Socket valid?
	bool IsStart() const;	// Is Thread started?
	bool IsServer() const;	// Is running in server mode
	bool IsBroadcast() const; // Is UDP Broadcast active
	bool IsSmartAddressing() const;	// Is Smart Addressing mode support
	SOCKET GetSocket() const;	// return socket handle
	void SetServerState(bool bServer);	// Run as server mode if true
	void SetSmartAddressing(bool bSmartAddressing);	// Set Smart addressing mode
	bool GetSockName(SockAddrIn& saddr_in);	// Get Socket name - address
	bool GetPeerName(SockAddrIn& saddr_in);	// Get Peer Socket name - address
	void AddToList(const SockAddrIn& saddr_in);	// Add an address to the list
	void RemoveFromList(const SockAddrIn& saddr_in);	// Remove an address from the list
	void CloseComm();		// Close Socket
	bool WatchComm();		// Start Socket thread
	void StopComm();		// Stop Socket thread

	// Create a Socket - Server side
	bool CreateSocket(LPCTSTR strServiceName, int nProtocol, int nType, UINT uOptions = 0);
	// Create a socket, connect to (Client side)
	bool ConnectTo(LPCTSTR strDestination, LPCTSTR strServiceName, int nProtocol, int nType);

// Event function - override to get data
	virtual void OnDataReceived(const LPBYTE lpBuffer, DWORD dwCount);
	virtual void OnEvent(UINT uEvent);
// Run function - override to implement a new behaviour
	virtual void Run();

// Data function
	DWORD ReadComm(LPBYTE lpBuffer, DWORD dwSize, DWORD dwTimeout);
	DWORD WriteComm(const LPBYTE lpBuffer, DWORD dwCount, DWORD dwTimeout);

	// Utility functions
	static SOCKET WaitForConnection(SOCKET sock); // Wait For a new connection (Server side)
	static bool ShutdownConnection(SOCKET sock);  // Shutdown a connection
	static USHORT GetPortNumber( LPCTSTR strServiceName );	// Get service port number
	static ULONG GetIPAddress( LPCTSTR strHostName );	// Get IP address of a host
	static bool GetLocalName(LPTSTR strName, UINT nSize);	// GetLocalName
	static bool GetLocalAddress(LPTSTR strAddress, UINT nSize);	// GetLocalAddress
// SocketComm - data
protected:
	HANDLE		m_hComm;		// Serial Comm handle
	HANDLE		m_hThread;		// Thread Comm handle
	bool		m_bServer;		// Server mode (true)
	bool		m_bSmartAddressing;	// Smart Addressing mode (true) - many listeners
	bool		m_bBroadcast;	// Broadcast mode
	CSockAddrList m_AddrList;	// Connection address list for broadcast
	HANDLE		m_hMutex;		// Mutex object
// SocketComm - function
protected:
	// Synchronization function
	void LockList();			// Lock the object
	void UnlockList();			// Unlock the object

	static UINT WINAPI SocketThreadProc(LPVOID pParam);

private:
};

#endif // _SOCKETCOMM_H_

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美三级韩国三级日本三斤| 91看片淫黄大片一级在线观看| 亚洲小说欧美激情另类| 亚洲男同性视频| 亚洲精品欧美专区| 亚洲综合色网站| 日本欧美在线观看| 极品少妇一区二区三区精品视频| 裸体健美xxxx欧美裸体表演| 精品一区二区在线看| 精品中文av资源站在线观看| 国内精品在线播放| 99r国产精品| 欧美三级日韩三级国产三级| 日韩一区二区三区四区五区六区| 精品久久久久一区| 中文字幕免费不卡| 亚洲成人tv网| 国产在线精品一区二区不卡了 | 处破女av一区二区| 不卡一区二区三区四区| 在线观看日韩高清av| 日韩精品一区二区三区四区| 久久精品视频在线看| 亚洲国产精品嫩草影院| 精久久久久久久久久久| 91在线porny国产在线看| 91精品国产乱码久久蜜臀| 国产欧美一区二区在线| 亚洲一二三专区| 精品一区二区国语对白| 色综合网站在线| 2014亚洲片线观看视频免费| 亚洲男女一区二区三区| 久久精品国产亚洲a| 99热精品一区二区| 日韩欧美国产综合在线一区二区三区| 国产精品沙发午睡系列990531| 香蕉久久一区二区不卡无毒影院| 国产一区二区三区四| 欧美在线制服丝袜| 欧美国产一区二区在线观看 | 在线国产电影不卡| 久久久久久久久岛国免费| 亚洲免费观看高清| 国产精品白丝jk黑袜喷水| 日本电影欧美片| 26uuu亚洲综合色欧美| 天天亚洲美女在线视频| 91首页免费视频| 欧美国产综合一区二区| 久久国产福利国产秒拍| 91精品久久久久久久99蜜桃| 国产精品天干天干在线综合| 久久福利视频一区二区| 欧美日本国产一区| 一区二区三区国产精华| 99re这里都是精品| 日本一区二区动态图| 国产精品一区二区x88av| 91精品婷婷国产综合久久性色| 亚洲精品乱码久久久久久久久| 懂色av噜噜一区二区三区av| 精品国产91洋老外米糕| 免费观看在线综合色| 7777精品久久久大香线蕉| 亚洲一区二区三区四区五区中文| av网站免费线看精品| 国产精品毛片久久久久久| 成人黄色电影在线| 国产蜜臀97一区二区三区| 国产成人在线观看免费网站| 国产清纯美女被跳蛋高潮一区二区久久w| 日韩1区2区3区| 欧美xingq一区二区| 久久精品72免费观看| 精品噜噜噜噜久久久久久久久试看 | 成人免费电影视频| 国产欧美一区二区在线观看| 成人免费视频视频在线观看免费 | 中文字幕综合网| 99免费精品视频| 曰韩精品一区二区| 欧美福利一区二区| 久久国产夜色精品鲁鲁99| 久久亚洲欧美国产精品乐播| 国产成人三级在线观看| 国产精品成人网| 欧美性极品少妇| 日本成人在线电影网| 久久久久久一级片| 91丨九色丨国产丨porny| 亚洲免费看黄网站| 欧美一区二区三区视频免费播放| 精品一二三四区| 国产精品麻豆网站| 欧美视频一二三区| 美国十次了思思久久精品导航| 久久久www成人免费毛片麻豆| www.亚洲色图| 日日摸夜夜添夜夜添精品视频| 欧美xxxxx牲另类人与| 成人激情小说网站| 亚洲成人午夜影院| 国产欧美一区二区三区沐欲| 91免费版pro下载短视频| 丝袜亚洲精品中文字幕一区| 国产亚洲va综合人人澡精品| 色女孩综合影院| 久久99精品久久久久久动态图| 亚洲欧洲av色图| 欧美日韩不卡一区二区| 国产99精品视频| 日韩成人免费电影| 中文字幕在线观看不卡| 欧美成人a视频| 欧美撒尿777hd撒尿| 国产91精品免费| 免费一区二区视频| 一区二区三区在线观看视频| 2024国产精品| 欧美猛男男办公室激情| 91香蕉视频mp4| 国产一区二区三区免费| 日本一道高清亚洲日美韩| 日韩理论片在线| 国产人久久人人人人爽| 欧美一区二区黄| 在线精品观看国产| www.成人在线| 国产69精品久久久久777| 日本不卡一区二区三区| 亚洲愉拍自拍另类高清精品| 国产精品高清亚洲| 欧美韩日一区二区三区| 久久久亚洲综合| 精品国内二区三区| 9191久久久久久久久久久| 色狠狠桃花综合| 91视频你懂的| 99久久精品久久久久久清纯| 丁香另类激情小说| 久久电影国产免费久久电影| 青青国产91久久久久久| 午夜精品一区二区三区免费视频| 最新欧美精品一区二区三区| 国产欧美va欧美不卡在线| 久久噜噜亚洲综合| 国产欧美日韩精品a在线观看| 欧美一卡2卡3卡4卡| 欧美日韩国产一级片| 欧美色中文字幕| 欧美久久久久中文字幕| 欧美男女性生活在线直播观看| 欧美日韩精品综合在线| 欧美男男青年gay1069videost| 欧美日本国产一区| 日韩丝袜美女视频| 久久先锋影音av| 中文字幕国产一区| 亚洲欧美综合在线精品| 亚洲综合在线五月| 爽好久久久欧美精品| 日韩av中文字幕一区二区| 毛片不卡一区二区| 国产美女一区二区| 91年精品国产| 欧美一二三区精品| 久久尤物电影视频在线观看| 国产欧美日韩综合精品一区二区| 国产精品福利一区二区三区| 亚洲欧美日韩中文播放| 午夜精品一区二区三区免费视频| 青娱乐精品视频在线| 国产精品亚洲第一| 一本大道久久精品懂色aⅴ| 欧美日韩国产影片| 欧美电视剧在线看免费| 中文字幕在线播放不卡一区| 亚洲风情在线资源站| 国模套图日韩精品一区二区| www.性欧美| 欧美一区二区三区爱爱| 中文字幕精品一区| 午夜伦欧美伦电影理论片| 国产盗摄一区二区三区| 色网综合在线观看| 日韩一级免费观看| 亚洲视频一区二区免费在线观看| 五月综合激情日本mⅴ| 丁香婷婷综合激情五月色| 91国产免费观看| 中文字幕免费在线观看视频一区| 亚洲日本乱码在线观看| 久久99精品一区二区三区| 色综合视频一区二区三区高清| 欧美一级生活片| 亚洲在线中文字幕| 成人免费看片app下载| 欧美一区二区三区视频免费|