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

📄 senddlg.cpp

📁 Windows 下开发的局域网发送接收数据的软件,采用C/S结构.
💻 CPP
字号:
// sendDlg.cpp : implementation file
//

#include "stdafx.h"
#include "sendr.h"
#include "sendDlg.h"


#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// sendDlg dialog


sendDlg::sendDlg(CWnd* pParent /*=NULL*/)
	: CDialog(sendDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(sendDlg)
		// NOTE: the ClassWizard will add member initialization here
	//}}AFX_DATA_INIT
}


void sendDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(sendDlg)
	DDX_Control(pDX, IDC_IPADDRESS1, m_IPAddr);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(sendDlg, CDialog)
	//{{AFX_MSG_MAP(sendDlg)
	ON_BN_CLICKED(IDSEND, OnSend)
	ON_WM_CREATE()
	ON_WM_DESTROY()
	ON_WM_CLOSE()
	ON_BN_CLICKED(IDC_OK, OnOK)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// sendDlg message handlers

void sendDlg::OnSend() 
{
	// TODO: Add your control notification handler code here

	DWORD DWDestIP=0;
	sockaddr_in dstaddr;
	dstaddr.sin_family = AF_INET;
	dstaddr.sin_addr.s_addr = inet_addr("192.168.1.168");
	dstaddr.sin_port = MAKEWORD(80,0);
	CWnd *CWIPaddr=GetDlgItem(IDC_IPADDRESS1);
	UINT Res=::SendMessage(CWIPaddr->m_hWnd,IPM_GETADDRESS,0,(LPARAM)&DWDestIP) ;
	DWDestIP= FOURTH_IPADDRESS(DWDestIP)<<24 | THIRD_IPADDRESS(DWDestIP)<<16 | SECOND_IPADDRESS(DWDestIP)<<8 | FIRST_IPADDRESS(DWDestIP);
	if (DWDestIP==0)
		return ;
	dstaddr.sin_addr.S_un.S_addr=DWDestIP;
	char buf[]="NOIR";
	if (connect(s,(sockaddr *)&dstaddr,sizeof(dstaddr))==SOCKET_ERROR)
	{
		DWORD DWLastErr=GetLastError();
		char *lpLastErr=(char*)&DWLastErr;
		MessageBox(lpLastErr,"Connect Error!");
		
		return ;
	}
//	int a=sendto(s,buf,sizeof(buf),MSG_DONTROUTE,(struct sockaddr *)&dstaddr,sizeof(dstaddr));
	int a;
	for(int i=1;i<10;i++)
	{
		a=send(s,buf,sizeof(buf),MSG_DONTROUTE);

	if (a==SOCKET_ERROR)
		MessageBox("Send Error");
	}
}

void sendDlg::OnOK() 
{
	// TODO: Add extra validation here
	
	CDialog::OnOK();
}

int sendDlg::OnCreate(LPCREATESTRUCT lpCreateStruct) 
{
	if (CDialog::OnCreate(lpCreateStruct) == -1)
		return -1;
	
	// TODO: Add your specialized creation code here

	s=INVALID_SOCKET;
	if(WSAStartup(MAKEWORD(2,0),&wsaData)!=0)
	{
		MessageBox("WSAStartup error");
		return -1;
	}
	s=WSASocket(AF_INET,SOCK_STREAM,NULL,NULL,NULL,NULL);
	if (s==INVALID_SOCKET)
	{
		MessageBox("socket error");
		return -1;
	}
/*	addr.sin_family=AF_INET;
	addr.sin_port=1234;
	addr.sin_addr.s_addr=INADDR_ANY;

	if(bind(s,(struct sockaddr *)&addr,sizeof(addr))!=0)
	{
		MessageBox("bind error");
		return -1;
	}
*/
	return 0;
}

void sendDlg::OnDestroy() 
{
	CDialog::OnDestroy();
	if(s!=INVALID_SOCKET)
		closesocket(s);
	// TODO: Add your message handler code here	
}

void sendDlg::OnClose() 
{
	// TODO: Add your message handler code here and/or call default
//	WSACleanup();
	CDialog::OnClose();
}


BOOL sendDlg::OnInitDialog() 
{
	CDialog::OnInitDialog();
	
	// TODO: Add extra initialization here
	DWORD DWIPaddr=MAKEIPADDRESS(192,168,1,170);
	CWnd *CWIPaddr=GetDlgItem(IDC_IPADDRESS1);
	::SendMessage(CWIPaddr->m_hWnd,IPM_SETADDRESS,0,(LPARAM)DWIPaddr);

	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -