📄 ceudpdlg.cpp
字号:
// CEUDPDlg.cpp : implementation file
//
#include "stdafx.h"
#include "CEUDP.h"
#include "CEUDPDlg.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CCEUDPDlg dialog
CCEUDPDlg::CCEUDPDlg(CWnd* pParent /*=NULL*/)
: CDialog(CCEUDPDlg::IDD, pParent)
{
//{{AFX_DATA_INIT(CCEUDPDlg)
m_RemoteHost = _T("192.168.253.178");
m_RemotePort = 1234;
m_LocalPort = 2345;
m_int = 0;
m_str = _T("");
//}}AFX_DATA_INIT
m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
}
void CCEUDPDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CCEUDPDlg)
DDX_Text(pDX, IDC_EDIT_REMOTEHOST, m_RemoteHost);
DDX_Text(pDX, IDC_EDIT_REMOTEPORT, m_RemotePort);
DDX_Text(pDX, IDC_EDIT_LOCALPORT, m_LocalPort);
DDX_Text(pDX, IDC_EDIT4, m_int);
DDX_Text(pDX, IDC_EDIT5, m_str);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CCEUDPDlg, CDialog)
//{{AFX_MSG_MAP(CCEUDPDlg)
ON_BN_CLICKED(IDC_BTNOPEN, OnBtnopen)
ON_BN_CLICKED(IDC_BTNCLOSE, OnBtnclose)
ON_BN_CLICKED(IDC_BTNSEND, OnBtnsend)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CCEUDPDlg message handlers
BOOL CCEUDPDlg::OnInitDialog()
{
CDialog::OnInitDialog();
SetIcon(m_hIcon, TRUE); // Set big icon
SetIcon(m_hIcon, FALSE); // Set small icon
CenterWindow(GetDesktopWindow()); // center to the hpc screen
// TODO: Add extra initialization here
return TRUE; // return TRUE unless you set the focus to a control
}
void CCEUDPDlg::OnBtnopen()
{
// TODO: Add your control notification handler code here
UpdateData(true);
DWORD nResult=m_CEUdp.Open(this,m_LocalPort,m_RemoteHost.GetBuffer(m_RemoteHost.GetLength()),m_RemotePort);
if (nResult<=0)
{
AfxMessageBox(_T("打开端口失败"));
}
char hostName[255];
ZeroMemory(hostName,255);
gethostname(hostName,255);
}
void CCEUDPDlg::OnBtnclose()
{
// TODO: Add your control notification handler code here
m_CEUdp.Close();
}
void CCEUDPDlg::OnBtnsend()
{
// TODO: Add your control notification handler code here
char * sendBuf;
sendBuf=new char [13];
char Data[13]={0x88,0x00,0x23,0x12,0x12,0x23,0x34,0x23,0x34,0x23,0x34,0x56,0x78};
CopyMemory(sendBuf,Data,13);
m_CEUdp.SendData(sendBuf);
delete[] sendBuf;
sendBuf=NULL;
}
void CCEUDPDlg::OnUdpCERecv(CWnd *pWnd, char *buf, int nLen, sockaddr *addr)
{
CCEUDPDlg * pDLg;
pDLg=(CCEUDPDlg*)pWnd;
char * recvStr;
recvStr=new char (13);
recvStr[0]=buf[0];
recvStr[1]=buf[1];
recvStr[2]=buf[2];
recvStr[3]=buf[3];
recvStr[4]=buf[4];
CString str1;
CString str2;
CString str3;
CString str4;
CString str5;
str1.Format(_T("%x"),recvStr[0]);
str2.Format(_T("%x"),recvStr[1]);
str3.Format(_T("%x"),recvStr[2]);
str4.Format(_T("%x"),recvStr[3]);
str5.Format(_T("%x"),recvStr[4]);
pDLg->SetDlgItemText(IDC_EDIT5,str1);
pDLg->SetDlgItemText(IDC_EDIT6,str2);
pDLg->SetDlgItemText(IDC_EDIT7,str3);
pDLg->SetDlgItemText(IDC_EDIT8,str4);
pDLg->SetDlgItemText(IDC_EDIT9,str5);
}
void CCEUDPDlg::OnUdpCEError(CWnd *pWnd, int code)
{
}
void CCEUDPDlg::show(CWnd *pWnd,int len)
{
CCEUDPDlg * pDLg;
pDLg=(CCEUDPDlg*)pWnd;
pDLg->SetDlgItemInt(IDC_EDIT4,len,true);
}
void CCEUDPDlg::OnUdpCERecv2(CWnd *pWnd, char *buf, int nLen, sockaddr *addr)
{
CCEUDPDlg * pDLg;
pDLg=(CCEUDPDlg*)pWnd;
char * recvStr;
recvStr=new char (13);
recvStr[0]=buf[5];
recvStr[1]=buf[6];
recvStr[2]=buf[7];
recvStr[3]=buf[8];
recvStr[4]=buf[9];
recvStr[5]=buf[10];
recvStr[6]=buf[11];
recvStr[7]=buf[12];
CString d1;
CString d2;
CString d3;
CString d4;
CString d5;
CString d6;
CString d7;
CString d8;
d1.Format(_T("%x"),recvStr[0]);
d2.Format(_T("%x"),recvStr[1]);
d3.Format(_T("%x"),recvStr[2]);
d4.Format(_T("%x"),recvStr[3]);
d5.Format(_T("%x"),recvStr[4]);
d6.Format(_T("%x"),recvStr[5]);
d7.Format(_T("%x"),recvStr[6]);
d8.Format(_T("%x"),recvStr[7]);
pDLg->SetDlgItemText(IDC_EDITd1,d1);
pDLg->SetDlgItemText(IDC_EDITd2,d2);
pDLg->SetDlgItemText(IDC_EDITd3,d3);
pDLg->SetDlgItemText(IDC_EDITd4,d4);
pDLg->SetDlgItemText(IDC_EDITd5,d5);
pDLg->SetDlgItemText(IDC_EDITd6,d6);
pDLg->SetDlgItemText(IDC_EDITd7,d7);
pDLg->SetDlgItemText(IDC_EDITd8,d8);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -