sendmsgdlg.cpp
来自「初学VC,编写的一个机房管理系统,功能基本上完善,但代码可读性不强.」· C++ 代码 · 共 98 行
CPP
98 行
// SendMsgDlg.cpp : implementation file
//
#include "stdafx.h"
#include "server.h"
#include "SendMsgDlg.h"
#include <Winsock2.h>
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
extern CString ip;
/////////////////////////////////////////////////////////////////////////////
// CSendMsgDlg dialog
CSendMsgDlg::CSendMsgDlg(CWnd* pParent /*=NULL*/)
: CDialog(CSendMsgDlg::IDD, pParent)
{
//{{AFX_DATA_INIT(CSendMsgDlg)
receiver = _T("");
msg = _T("");
//}}AFX_DATA_INIT
}
void CSendMsgDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CSendMsgDlg)
DDX_Text(pDX, IDC_RECEIVER, receiver);
DDX_CBString(pDX, IDC_MSG, msg);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CSendMsgDlg, CDialog)
//{{AFX_MSG_MAP(CSendMsgDlg)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CSendMsgDlg message handlers
void CSendMsgDlg::OnOK()
{
// TODO: Add extra validation here
UpdateData(TRUE);
SOCKADDR_IN addrSrv;
SOCKET sockClient=socket(AF_INET,SOCK_STREAM,0);
addrSrv.sin_addr.S_un.S_addr=inet_addr(ip);
addrSrv.sin_family =AF_INET;
addrSrv.sin_port=htons(6001);
int ret = 0;
int error = 0;
//char sendmsgbuf[100]=msg;
// sendmsgbuf[0]='7';
// sendmsgbuf[1]=char(0);
CString m_msg;
m_msg="9";
m_msg+=char(msg.GetLength());
m_msg+=msg;
ret = connect(sockClient,(SOCKADDR*)&addrSrv,sizeof(SOCKADDR));
if(ret == SOCKET_ERROR)
{
TRACE("Connect Error: %d \n", (error = WSAGetLastError()));
if(error == 10061)
MessageBox("客户端遇到错误,请检查!","错误",MB_ICONERROR | MB_OK);
return;
}
else
{
ret = send(sockClient, m_msg,100, 0);
if(ret != 100)
{
MessageBox("客户端遇到错误,请检查!","错误",MB_ICONERROR | MB_OK);
return;
}
}
CDialog::OnOK();
}
BOOL CSendMsgDlg::OnInitDialog()
{
CDialog::OnInitDialog();
receiver=ip;
UpdateData(FALSE);
CStatic *mComb = (CStatic*)GetDlgItem(IDC_RECEIVER);
mComb->EnableWindow(FALSE);
mComb->SetFocus();
return 1;
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?