?? tcpserver_ce.h
字號(hào):
// TCPServer_CE.h: interface for the CTCPServer_CE class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_TCPSERVER_CE_H__711FE909_4A87_4123_95F8_45160691659D__INCLUDED_)
#define AFX_TCPSERVER_CE_H__711FE909_4A87_4123_95F8_45160691659D__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#include <winsock.h>
class CTCPCustom_CE;
class CTCPServer_CE;
//定義客戶端連接建立事件
typedef void (CALLBACK* ONCLIENTCONNECT)(CWnd*,CTCPCustom_CE*);
//定義客戶端SOCKET關(guān)閉事件
typedef void (CALLBACK* ONCLIENTCLOSE)(CWnd*,CTCPCustom_CE*);
//定義客戶端當(dāng)有數(shù)據(jù)接收事件
typedef void (CALLBACK* ONCLIENTREAD)(CWnd*,CTCPCustom_CE*,const char * buf,int len );
//定義客戶端Socket錯(cuò)誤事件
typedef void (CALLBACK* ONCLIENTERROR)(CWnd*,CTCPCustom_CE*,int nErrorCode);
//定義服務(wù)器端Socket錯(cuò)誤事件
typedef void (CALLBACK* ONSERVERERROR)(CWnd*,CTCPServer_CE*,int nErrorCode);
class CTCPServer_CE
{
public:
CTCPServer_CE();
virtual ~CTCPServer_CE();
public:
int Open(); //打開TCP服務(wù)
int Close(); //關(guān)閉TCP服務(wù)
private:
//線程處理函數(shù)
static DWORD SocketThreadFunc(PVOID lparam);
public:
int m_LocalPort; //設(shè)置服務(wù)端口號(hào)
CWnd * m_pOwnerWnd; //父窗口句柄
private:
SOCKET m_ServerSocket; //TCP服務(wù)監(jiān)聽socket
HANDLE m_serverThreadHandle; //通訊線程句柄
HANDLE m_exitThreadEvent; //通訊線程退出事件句柄
public: //定義事件
//客戶端連接建立事件,回調(diào)函數(shù)
ONCLIENTCONNECT OnClientConnect;
//客戶端連接斷開事件,回調(diào)函數(shù)
ONCLIENTCLOSE OnClientClose;
//客戶端接收數(shù)據(jù)事件,回調(diào)函數(shù)
ONCLIENTREAD OnClientRead;
//客戶端發(fā)生錯(cuò)誤事件,回調(diào)函數(shù)
ONCLIENTERROR OnClientError;
//服務(wù)器端發(fā)生錯(cuò)誤事件,回調(diào)函數(shù)
ONSERVERERROR OnServerError;
};
#endif // !defined(AFX_TCPSERVER_CE_H__711FE909_4A87_4123_95F8_45160691659D__INCLUDED_)
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -