?? logindlg.cpp
字號:
// LoginDlg.cpp : implementation file
//
#include "stdafx.h"
#include "client.h"
#include "clientDoc.h"
#include "clientView.h"
#include "LoginDlg.h"
#include "winsock2.h"
#pragma comment (lib,"ws2_32.lib")
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CLoginDlg dialog
CLoginDlg::CLoginDlg(CWnd* pParent /*=NULL*/)
: CDialog(CLoginDlg::IDD, pParent)
{
//{{AFX_DATA_INIT(CLoginDlg)
//}}AFX_DATA_INIT
}
void CLoginDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CLoginDlg)
DDX_Control(pDX, IDC_IPADDRESS, m_nIPAddr);
DDX_Control(pDX, IDC_USER, m_nUser);
DDX_Control(pDX, IDC_KEY, m_nKey);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CLoginDlg, CDialog)
//{{AFX_MSG_MAP(CLoginDlg)
ON_BN_CLICKED(IDC_DEFAULT, OnDefault)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CLoginDlg message handlers
void CLoginDlg::OnDefault()
{
m_nIPAddr.SetWindowText("127.0.0.1");
m_nUser.SetWindowText("fanwenjun");
m_nKey.SetWindowText("123456");
UpdateData(FALSE);
}
struct AthParam
{
int flag;
char user[10];
char key[10];
};
void CLoginDlg::OnOK()
{
// TODO: Add extra validation here
// CDialog::OnOK();
WORD wVersionRequested;
WSADATA wsaData;
int err;
wVersionRequested = MAKEWORD( 2, 2 );
err = WSAStartup( wVersionRequested, &wsaData );
if ( err != 0 ) {
// Tell the user that we could not find a usable
// WinSock DLL.
return;
}
SOCKET send_s = socket(AF_INET,SOCK_DGRAM,0);
if(send_s == INVALID_SOCKET)
{
MessageBox("Create socket Error");
return;
}
m_nIPAddr.GetWindowText(strServer);
m_nUser.GetWindowText(strUser);
m_nKey.GetWindowText(strKey);
sockaddr_in to_addr;
to_addr.sin_family = AF_INET;
to_addr.sin_port = htons(8341);
to_addr.sin_addr.S_un.S_addr = inet_addr(strServer);
CClientView::strServer=strServer;
AthParam p;
p.flag=4;
strcpy(p.user,strUser);
strcpy(p.key,strKey);
char buf[100];
memcpy(buf,&p,sizeof(p));
int len=sizeof(to_addr);
if((0==strcmp(strServer,""))||(0==strcmp(strUser,""))||(0==strcmp(strKey,"")))
{
MessageBox("請添入完整信息。");
}
else if(SOCKET_ERROR == sendto(send_s,buf,sizeof(buf),0,(sockaddr*)&to_addr,sizeof(to_addr)))
{
MessageBox("Send Error");
return;
}
else
{
recvfrom(send_s,buf,sizeof(buf),0,(sockaddr*)&to_addr,&len);
if(0==strcmp(buf,"Login secucessful!"))
{
CClientView::SetflagTrue();
CClientView::SetopenoffTrue();
((CFrameWnd*)AfxGetMainWnd ())->GetActiveView()->Invalidate();
}
else if(0==strcmp(buf,"UserID or Keywords wrong!"))
{
CClientView::SetflagFalse();
CClientView::SetopenoffTrue();
((CFrameWnd*)AfxGetMainWnd ())->GetActiveView()->Invalidate();
}
else
{
CClientView::SetflagTrue();
CClientView::SetopenoffFalse();
((CFrameWnd*)AfxGetMainWnd ())->GetActiveView()->Invalidate();
}
}
closesocket(send_s);
WSACleanup();
EndDialog(IDOK);
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -