tcp.h

来自「TCP网络传输」· C头文件 代码 · 共 73 行

H
73
字号
// TCP.h : main header file for the TCP DLL
//

#if !defined(AFX_TCP_H__29A06E2C_BD8D_4C86_B1D7_56295E6B881B__INCLUDED_)
#define AFX_TCP_H__29A06E2C_BD8D_4C86_B1D7_56295E6B881B__INCLUDED_

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

#ifndef __AFXWIN_H__
	#error include 'stdafx.h' before including this file for PCH
#endif

#define TCPHANDLE  int//有意义的置

#include "resource.h"		// main symbols
#include "Afxmt.h"

#include <list>
using namespace std;

typedef struct tagINFO
{   //用户自定义的函数,m_bInit为初始化
	BOOL    (*Receive)(void *wParam,TCPHANDLE handle);//线程接收
	void    *wParam;//用户自定义函数的参数
	SOCKET   s;//用户自定义函数对应的socket值
}INFO;

typedef  struct tagTHREAD//保存线程句柄和socket
{
	HANDLE      hThread;
	SOCKET      s;
}THREAD;

typedef list<THREAD>  THREAD_LIST;

class CTCPApp : public CWinApp
{
public:

	 CTCPApp();
	~CTCPApp();

    static DWORD WINAPI OnAccept(void *wParam);//监听线程

	static DWORD WINAPI Server(void *wParam);//服务器线程

	static DWORD WINAPI Client(void *wParam);//客户端线程

	THREAD_LIST  m_list;//保存线程句柄和socket的关系

	BOOL   RemoveList(int handle);

	//{{AFX_VIRTUAL(CTCPApp)
	public:
	virtual BOOL InitInstance();
	virtual int ExitInstance();
	//}}AFX_VIRTUAL

	//{{AFX_MSG(CTCPApp)
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()
};


/////////////////////////////////////////////////////////////////////////////

//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.

#endif // !defined(AFX_TCP_H__29A06E2C_BD8D_4C86_B1D7_56295E6B881B__INCLUDED_)

⌨️ 快捷键说明

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