📄 mysocket.h
字号:
#if !defined(AFX_MYSOCKET_H__DF6FB001_509B_11D6_8E99_00E04C498874__INCLUDED_)
#define AFX_MYSOCKET_H__DF6FB001_509B_11D6_8E99_00E04C498874__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// MySocket.h : header file
#include <map>
#include <string>
#define MYNET_CLIENTREAD 0
#define MYNET_CLIENTSEND 1
#define MYNET_CONNECT 2
#define MYNET_SERVERCLOSE 3
#define MYNET_SERVERREAD 4
#define MYNET_SERVERSEND 5
#define MYNET_ACCEPT 6
#define MYNET_CLIENTCLOSE 7
/////////////////////////////////////////////////////////////////////////////
// MySocket command target
class MySocket : public CAsyncSocket
{
public:
MySocket();
virtual ~MySocket();
// Overrides
public:
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(MySocket)
public:
virtual void OnSend(int nErrorCode);
virtual void OnReceive(int nErrorCode);
virtual void OnClose(int nErrorCode);
//}}AFX_VIRTUAL
// Generated message map functions
//{{AFX_MSG(MySocket)
// NOTE - the ClassWizard will add and remove member functions here.
//}}AFX_MSG
// Implementation
public:
BOOL SendStr(CString m_str);
CString GetMessStr(void);
void SetMessagePara(CWnd* pParent,UINT m_nMessageID);
protected:
CWnd * m_pWnd;
UINT m_UserMsg;
char m_szBuffer[4096]; //消息缓冲区
CString m_MessStr;
public:
BOOL m_bAccept;
};
/////////////////////////////////////////////////////////////////////////////
// MyServerSocket command target
class MyServerSocket : public CAsyncSocket
{
public:
MyServerSocket();
virtual ~MyServerSocket();
// Overrides
public:
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(MyServerSocket)
public:
virtual void OnAccept(int nErrorCode);
//}}AFX_VIRTUAL
// Generated message map functions
//{{AFX_MSG(MyServerSocket)
// NOTE - the ClassWizard will add and remove member functions here.
//}}AFX_MSG
// Implementation
public:
BOOL SendMess(UINT nMode, CString strMessage);
BOOL CreateAndListen(CWnd* pWnd,UINT messageID,UINT nSocketPort = 12345);
BOOL SendStr(CString m_str);
CString GetMessStr(void);
void SetMessagePara(CWnd* pParent,UINT m_nMessageID);
void CloseServer(void);
protected:
CWnd *m_pWnd;
UINT m_UserMsg;
MySocket *m_pSocket;
CString m_MessStr;
private:
};
/////////////////////////////////////////////////////////////////////////////
// MyClientSocket command target
class MyClientSocket : public CAsyncSocket
{
public:
MyClientSocket();
virtual ~MyClientSocket();
// Overrides
public:
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(MyClientSocket)
public:
virtual void OnConnect(int nErrorCode);
virtual void OnReceive(int nErrorCode);
virtual void OnSend(int nErrorCode);
virtual void OnClose(int nErrorCode);
//}}AFX_VIRTUAL
// Generated message map functions
//{{AFX_MSG(MyClientSocket)
// NOTE - the ClassWizard will add and remove member functions here.
//}}AFX_MSG
// Implementation
public:
BOOL SendMess(UINT nMode, CString strMessage);
BOOL CreateAndConnect(CWnd *pWnd, UINT messageID,LPCTSTR lpszHostAddress, UINT nSocketPort = 12345);
BOOL IsConnect(void);
BOOL SendStr(CString m_str);
CString GetMessStr(void);
void Rest(void);
void SetMessagePara(CWnd* pParent,UINT m_nMessageID);
protected:
CWnd * m_pWnd;
UINT m_UserMsg;
BOOL m_bConnected; //是否连接
char m_szBuffer[4096]; //消息缓冲区
CString m_MessStr;
std::map<std::string, std::string> devIpMap;
private:
void InitMap();
};
struct MessageDD
{
unsigned long addSrc;
unsigned long addDes;
unsigned short portSrc;
unsigned short portDes;
BOOLEAN bDrop;
unsigned short hideMethod;
};
struct MessDef2VC
{
unsigned long addSrc; //源地址
unsigned long addDes; //目的地址
unsigned short portSrc; //源端口
unsigned short portDes; //目的端口
unsigned short hideMethod; //隐藏方式
BOOLEAN cut; //是否阻断
BOOLEAN set; //是否置位
BOOLEAN insert; //是否加扰
int sum; //该链路总包数
int defNum; //防御的总包数
};
CString MDefVC2CStr(const MessDef2VC &mess);
CString MDD2CStr(const MessageDD &mess);
MessageDD CStr2MDD(const CString &str, int &nMode);
MessDef2VC CStr2MDefVC(const CString &str, int &nMode);
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_MYSOCKET_H__DF6FB001_509B_11D6_8E99_00E04C498874__INCLUDED_)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -