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

📄 lsocket.h

📁 隐藏进程代码
💻 H
字号:
// LSocket.h: interface for the CLSocket class.
//program by bigbencat
//mail to:liguangyu@china.com
//随便使用,随便修改,接口基本上和 MFC CSocket 相同,不需要MFC支持,
//适合 work thread 
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_LSOCKET_H__2FB6E9E0_537E_4BC8_B5D3_0425206B3954__INCLUDED_)
#define AFX_LSOCKET_H__2FB6E9E0_537E_4BC8_B5D3_0425206B3954__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#define _WINSOCKAPI_
#include <WinSock2.h>
#pragma comment(lib, "ws2_32.lib")

class CLSocket  
{
public:
	BOOL Create(UINT nSocketPort = 0, int nSocketType=SOCK_STREAM,
		long lEvent = FD_READ | FD_WRITE | FD_OOB | FD_ACCEPT | FD_CONNECT | FD_CLOSE,
		LPCTSTR lpszSocketAddress = NULL);
	void operator=(const CLSocket& rSrc);
	virtual void Close();
	virtual int Receive(void* lpBuf, int nBufLen, int nFlags = 0);
	virtual int Send(const void* lpBuf, int nBufLen, int nFlags = 0);
	BOOL Bind(UINT nSocketPort, LPCTSTR lpszSocketAddress = NULL);
	BOOL Connect(LPCTSTR lpszHostAddress, UINT nHostPort);
	BOOL Listen(int nConnectionBacklog=5);
	virtual BOOL Accept(CLSocket& rConnectedSocket,
			SOCKADDR* lpSockAddr = NULL, int* lpSockAddrLen = NULL);

protected:
	virtual void OnReceive(int nErrorCode);
	virtual void OnSend(int nErrorCode);
	virtual void OnOutOfBandData(int nErrorCode);
	virtual void OnAccept(int nErrorCode);
	virtual void OnConnect(int nErrorCode);
	virtual void OnClose(int nErrorCode);
public:
	BOOL ConnectWithProxy(LPCTSTR lpszHostAddress,UINT nHostPort,LPCTSTR lpszProxyAddress,UINT nProxyPort);
	void SetProxy(const char *szIP,long lPort);
	BOOL Run(long lTimeout=0);
	SOCKET m_hSocket;
	CLSocket();
	virtual ~CLSocket();
private:
	BOOL Select();
	WSAEVENT m_hEvent[1];//  HANDLE of 网络事件
	void InitSocketSystemOnce();
	char*  TranslateSocketError(long lErrNO=-1);
	long m_lEvent;
	char m_szProxyIP[20];
	long	m_lProxyPort;
	char m_szError[200];
};

#endif // !defined(AFX_LSOCKET_H__2FB6E9E0_537E_4BC8_B5D3_0425206B3954__INCLUDED_)

⌨️ 快捷键说明

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