cstreamsocket.h

来自「VC vod源码 放出来供大家交流学习」· C头文件 代码 · 共 55 行

H
55
字号
//
// CStreamSocket.h
//

#ifndef __H_CStreamSocket__
#define __H_CStreamSocket__

class CFilterNetReceiver;
class CStreamSocket
{
protected:
	SOCKET		mSocket;
	BOOL		mIsConnected;

	BOOL		mIsReceiving;  // For receiving
	HANDLE		mRcvThread;

	BOOL		mIsSending;    // For sending
	HANDLE		mSndThread;

	CFilterNetReceiver * mOwnerFilter;

public:
	CStreamSocket();
	virtual ~CStreamSocket();

	void SetOwnerFilter(CFilterNetReceiver * inFilter);

public:
	BOOL Attach(SOCKET inSocket);
	void Detach(void);
	SOCKET GetSocket(void);

	BOOL ConnectTo(DWORD inTargetIP, WORD inPort);
	BOOL IsConnected(void) { return mIsConnected; };

	// Receive functions
	BOOL StartReceiving(void);
	void StopReceiving(void);
	BOOL IsReceiving(void) { return mIsReceiving; };

	// Send functions
	BOOL StartSending(void);
	void StopSending(void);
	BOOL IsSending(void) { return mIsSending; };

protected:
	static DWORD WINAPI ReceivingThrd(void * pParam);
	static DWORD WINAPI SendingThrd(void * pParam);

	virtual void ReceivingLoop(void);
	virtual void SendingLoop(void);
};

#endif // __H_CStreamSocket__

⌨️ 快捷键说明

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