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

📄 tcpserver.h

📁 《 MFC 编程技巧与范例详解 》〔曾凡锋
💻 H
字号:
// TCPServer.h: interface for the CTCPServer class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_TCPSERVER_H__29D195EA_5C6B_4A66_AAE8_977E0DFD1CED__INCLUDED_)
#define AFX_TCPSERVER_H__29D195EA_5C6B_4A66_AAE8_977E0DFD1CED__INCLUDED_

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

#define TCP_PORT 2008
#define BUFFER_SIZE 1024

enum
{
	CMD_AUTH = 0,
	CMD_FILE,
	CMD_QUIT,
	READY,
	LOGIN_OK,
	LOGIN_FAIL,
	NOT_LOGIN,
	SEND_OK,
	NO_FILE,
	ERROR_CMD,
};

typedef void(* my_callback) (CDialog*, LPCTSTR, int);

class CTCPServer  
{
	struct SocketData
	{
		SOCKET socket;
		sockaddr_in from;
	} ;
public:
	CTCPServer();
	virtual ~CTCPServer();

	static UINT MTServerThread(LPVOID pParam);
	static UINT ClientThread(LPVOID pParam);
	static BOOL ParseCmd(char *str, CString& cmd, CString& params);
	static BOOL SendFile(SOCKET s, CString fname);

	static void Start();
	static void Stop();
protected:	
	static SOCKET m_server;
	static BOOL m_bStart;
	static CStringList m_lstClient;
	
public:
	static UINT m_nPort;
	static CString m_sPassword;

	static my_callback m_callback;
	static CDialog* m_pDlg;
};

#endif // !defined(AFX_TCPSERVER_H__29D195EA_5C6B_4A66_AAE8_977E0DFD1CED__INCLUDED_)

⌨️ 快捷键说明

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