亚洲欧美第一页_禁久久精品乱码_粉嫩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一区二区三区免费野_久草精品视频
三级影片在线观看欧美日韩一区二区| 亚洲综合激情小说| 精品视频一区二区三区免费| 成人精品免费网站| 国产成人8x视频一区二区| 国产精品主播直播| 国产精品1区2区| 成人动漫中文字幕| 在线视频国内自拍亚洲视频| 欧美在线三级电影| 欧美久久久久久久久| 日本韩国欧美三级| 在线观看91精品国产麻豆| 91麻豆精品国产91久久久久| 日韩亚洲电影在线| 国产午夜精品久久久久久久 | 97久久精品人人爽人人爽蜜臀| 国产精品一线二线三线精华| 成人福利视频网站| 欧美日韩一区三区| 精品电影一区二区| 中文字幕亚洲一区二区av在线| 夜夜亚洲天天久久| 久久99精品久久只有精品| 菠萝蜜视频在线观看一区| 欧美性猛片xxxx免费看久爱| 日韩视频一区二区三区在线播放| 久久一日本道色综合| 亚洲九九爱视频| 免费的国产精品| 成人黄色免费短视频| 51精品秘密在线观看| 久久久久国产精品厨房| 亚洲精品乱码久久久久久久久| 丝袜a∨在线一区二区三区不卡| 国产精品一区2区| 精品视频免费看| 中文无字幕一区二区三区| 亚洲一区二区精品视频| 国产成人在线色| 欧美巨大另类极品videosbest| 久久精品亚洲国产奇米99 | 欧美一级在线观看| 中文成人av在线| 久久99蜜桃精品| 91成人免费在线视频| 国产女主播视频一区二区| 亚洲成人免费在线观看| 99久久综合99久久综合网站| 精品精品欲导航| 五月激情综合色| 欧美在线三级电影| 中文字幕亚洲一区二区av在线| 极品少妇xxxx精品少妇偷拍| 欧美日韩视频在线一区二区 | 一区二区三区在线高清| 国产一区二区三区免费在线观看| 欧美无乱码久久久免费午夜一区| 久久精品一级爱片| 日本午夜一本久久久综合| 欧美在线你懂得| 国产精品蜜臀在线观看| 国产乱子伦视频一区二区三区 | 天天综合日日夜夜精品| 欧美亚洲国产怡红院影院| 中日韩免费视频中文字幕| 久久国产精品99久久久久久老狼| 色噜噜久久综合| 亚洲乱码中文字幕综合| 99热精品国产| 国产精品美女一区二区三区| 国产精品自拍网站| 欧美国产精品一区二区| 国产乱子伦一区二区三区国色天香 | 国产一区二区网址| 精品国产乱码91久久久久久网站| 亚洲www啪成人一区二区麻豆| 欧美色区777第一页| 亚洲一区二区三区在线看| 在线精品视频免费观看| 亚洲国产精品久久久久秋霞影院| 精品视频在线免费| 日本不卡123| 欧美精品一区二区三区一线天视频 | 亚洲国产精品黑人久久久| 国产91富婆露脸刺激对白| 国产精品色呦呦| 色欧美日韩亚洲| 亚洲国产成人av网| 精品奇米国产一区二区三区| 狠狠网亚洲精品| 国产精品污污网站在线观看| av色综合久久天堂av综合| 一区二区三区四区视频精品免费| 欧美性猛交xxxx乱大交退制版| 午夜精品久久久久久久| 精品人伦一区二区色婷婷| 九九热在线视频观看这里只有精品| 极品少妇xxxx精品少妇| 一本一道波多野结衣一区二区| 久久久久成人黄色影片| 精品乱人伦一区二区三区| 久久视频一区二区| 亚洲欧美视频在线观看视频| 欧美日韩激情在线| 在线日韩av片| 在线一区二区三区四区| 日韩丝袜美女视频| jlzzjlzz亚洲女人18| 午夜视频在线观看一区二区三区| 欧美电视剧免费观看| 99国产精品一区| 精品一区二区综合| 午夜精品久久久久久久99水蜜桃| 666欧美在线视频| 北条麻妃国产九九精品视频| 亚洲一卡二卡三卡四卡无卡久久| 日韩精品一区在线观看| 91免费视频网址| 精品亚洲aⅴ乱码一区二区三区| 日韩美女视频一区二区| 久久久久亚洲综合| 欧美精三区欧美精三区| 99re6这里只有精品视频在线观看| 三级欧美韩日大片在线看| 国产精品久久毛片| 精品免费国产一区二区三区四区| 91久久精品网| av亚洲精华国产精华精华| 精品一区二区影视| 日本成人中文字幕在线视频 | 国产另类ts人妖一区二区| 亚洲国产日产av| 国产精品三级电影| 日韩欧美二区三区| 欧美伦理电影网| 欧美视频三区在线播放| 色噜噜偷拍精品综合在线| 99久久久久免费精品国产 | 国产精品国产自产拍高清av| 日韩免费成人网| 日韩视频免费观看高清完整版在线观看 | 欧美写真视频网站| 91在线云播放| 成人国产精品免费网站| 国产伦精一区二区三区| 国产精选一区二区三区| 久久99精品一区二区三区 | 亚洲三级免费观看| 国产精品国产精品国产专区不片 | 欧美日韩综合一区| 欧美性受xxxx| 欧美日韩一级黄| 欧美日韩免费在线视频| 在线精品观看国产| 欧美日韩亚洲综合在线| 69久久99精品久久久久婷婷| 91精品麻豆日日躁夜夜躁| 欧美一级欧美一级在线播放| 日韩欧美一级在线播放| 精品日韩在线观看| 久久久久高清精品| 中文字幕一区二区三区乱码在线| 亚洲欧洲一区二区三区| 亚洲自拍偷拍av| 天堂蜜桃91精品| 美国精品在线观看| 国产在线国偷精品免费看| 国产成人在线色| 成人av影视在线观看| 91小视频在线观看| 欧美精品在线视频| 欧美电影免费观看高清完整版在| 精品国产麻豆免费人成网站| 国产女人水真多18毛片18精品视频| 欧美国产成人精品| 亚洲高清免费观看 | 久久久久久电影| 亚洲视频免费观看| 日韩精品亚洲一区| 国产乱对白刺激视频不卡| 色哟哟一区二区| 91麻豆精品国产综合久久久久久| 欧美精品一区二区三区蜜桃| 中文字幕一区三区| 久久狠狠亚洲综合| 99久久精品国产一区二区三区| 欧美日韩国产a| 国产欧美综合色| 亚洲丰满少妇videoshd| 粉嫩高潮美女一区二区三区| 欧美日韩一级黄| 中文字幕av一区二区三区| 日日夜夜精品视频天天综合网| 国产露脸91国语对白| 欧美日本在线观看| 中文字幕一区三区| 国产一区二三区好的| 欧美丰满嫩嫩电影| 亚洲视频一区在线|