📄 dlgudp.h
字号:
#if !defined(AFX_DLGUDP_H__ABCCEAA2_A5FC_4D68_BF31_5C4E93D451D6__INCLUDED_)
#define AFX_DLGUDP_H__ABCCEAA2_A5FC_4D68_BF31_5C4E93D451D6__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// DLGUDP.h : header file
//
#include "winsock.h"
/////////////////////////////////////////////////////////////////////////////
// DLGUDP dialog
class DLGUDP : public CDialog
{
// Construction
public:
DLGUDP(CWnd* pParent = NULL); // standard constructor
// Dialog Data
//{{AFX_DATA(DLGUDP)
enum { IDD = IDD_DLGUDP_DIALOG };
CButton m_ButOpenSocket;
CButton m_ButCloseSocket;
CString m_RemoteHost;
int m_RemotePort;
CString m_SendStr;
int m_LocalPort;
//}}AFX_DATA
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(DLGUDP)
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
//}}AFX_VIRTUAL
// Implementation
protected:
// Generated message map functions
//{{AFX_MSG(DLGUDP)
afx_msg void OnClearRecdisp();
afx_msg void OnOpen();
afx_msg void OnCloseSocket();
afx_msg void OnSend();
afx_msg void OnDestroy();
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
SOCKET m_UDPSocket; /* 本地UDP Socket */
SOCKADDR_IN m_RemoteAddr; /* 远程主机地址 */
CString m_strRecDisp; /* 接收区显示字符 */
HANDLE m_ExitThreadEvent; /* UDP 接收线程退出事件 */
private:
void CALLBACK OnUdpRecv(CWnd* pWnd, char *buf, int buflen);
void CALLBACK OnUdpError(CWnd *pWnd, int nErrorCode);
static DWORD UdpRecvTread(LPVOID lparam);
};
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_DLGUDP_H__ABCCEAA2_A5FC_4D68_BF31_5C4E93D451D6__INCLUDED_)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -