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

📄 p2p.h

📁 类似于QQ的聊天工具,分为客户端和服务器端,有共享空间,能发布公告,可传输文件
💻 H
字号:
// P2P.h: interface for the CP2P class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_P2P_H__E3EA4EA3_2D06_4E6A_B1D5_DB61E27D556F__INCLUDED_)
#define AFX_P2P_H__E3EA4EA3_2D06_4E6A_B1D5_DB61E27D556F__INCLUDED_

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

#include <AfxSock.h>
#include <afxinet.h>
#include "MsgBag.h"
#include "DataBag.h"

////////////////////
//传输文件线程参数
struct _ThreadParam
{
	CWnd*   m_pWnd;
	SOCKET  m_sSock;
	CFile*  m_pFile;
	CString m_strMyId;
	CString m_strFileName;
};

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

	HANDLE GetFTHandle();
	SOCKET GetFlieListenSock();
	WORD   GetFileListenPort();
	bool   GetFileListenStatus();
	_ThreadParam* GetFtThreadParam();

	//BOOL   SetPort(WORD newPort);

	void   Filesend(CWnd* pWnd, CString strMyId);
	void   OnAccept(CWnd* pWnd);
	static DWORD WINAPI AcceptFunc(LPVOID lpParam);
	static DWORD WINAPI ConnectFunc(LPVOID lpParam);
	void   InitFlieListenSock();
	void   CloseFileSocket();
//	int    CStringToInt(CString strInput);
//	static BOOL UnPackString(CString& strTarget, CStringArray& strArray);
//	static BOOL AddString(CString& strSource, CString& strTarget);
protected:
	bool   m_bFileLinstenStatus;
	SOCKET m_FileListenSocket;
	WORD   m_Port;
	HANDLE m_hdlFT;
	_ThreadParam* m_ftParam;
};

#endif // !defined(AFX_P2P_H__E3EA4EA3_2D06_4E6A_B1D5_DB61E27D556F__INCLUDED_)

⌨️ 快捷键说明

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