⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ceudpdlg.cpp

📁 WINCE EVC UDP的使用
💻 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 + -