?? 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 + -