📄 tcp.h
字号:
// 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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -