亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? simpleclientdlg.cpp.bak

?? “基本套接字實現基本聊天功能”,教學示例使用。
?? BAK
字號:
// SimpleClientDlg.cpp : implementation file
//

#include "stdafx.h"
#include "SimpleClient.h"
#include "SimpleClientDlg.h"

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

/////////////////////////////////////////////////////////////////////////////
// CAboutDlg dialog used for App About

CString ChatInfo;
BOOL ChatEnable;

DWORD WINAPI Recvthread(LPVOID lpparam)
{
	SOCKET  m_socket=(SOCKET)lpparam;
	char buff[256];
    int ret;
	while(1)
	{
		ret=recv(m_socket,buff,256,0);
	    if(ret==SOCKET_ERROR)
		{
			closesocket (m_socket);
			return -1;
		}
		buff[ret]='\0';
		if (!strcmp(buff, "登陸成功,現在可以使用短信功能!"))
		{
			ChatEnable=TRUE;
		}
		CString str;
		str=_T("服務器:");
		str+=buff;
		AfxMessageBox(str);
	}
    	return 0;
}


class CAboutDlg : public CDialog
{
public:
	CAboutDlg();

// Dialog Data
	//{{AFX_DATA(CAboutDlg)
	enum { IDD = IDD_ABOUTBOX };
	//}}AFX_DATA

	// ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(CAboutDlg)
	protected:
	virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
	//}}AFX_VIRTUAL

// Implementation
protected:
	//{{AFX_MSG(CAboutDlg)
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()
};

CAboutDlg::CAboutDlg() : CDialog(CAboutDlg::IDD)
{
	//{{AFX_DATA_INIT(CAboutDlg)
	//}}AFX_DATA_INIT
}

void CAboutDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CAboutDlg)
	//}}AFX_DATA_MAP
}

BEGIN_MESSAGE_MAP(CAboutDlg, CDialog)
	//{{AFX_MSG_MAP(CAboutDlg)
		// No message handlers
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CSimpleClientDlg dialog

CSimpleClientDlg::CSimpleClientDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CSimpleClientDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CSimpleClientDlg)
	m_strPass = _T("maoyue");
	m_strServer = _T("127.0.0.1");
	m_strUser = _T("maoy");
	//}}AFX_DATA_INIT
	// Note that LoadIcon does not require a subsequent DestroyIcon in Win32
	m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
	m_hSocket = NULL;
	isStart=FALSE;
}

void CSimpleClientDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CSimpleClientDlg)
	DDX_Text(pDX, IDC_PASS, m_strPass);
	DDX_Text(pDX, IDC_SERVERIP, m_strServer);
	DDX_Text(pDX, IDC_USER, m_strUser);
	DDX_Text(pDX,IDC_MSG,m_strMSG);
	//}}AFX_DATA_MAP
}

BEGIN_MESSAGE_MAP(CSimpleClientDlg, CDialog)
	//{{AFX_MSG_MAP(CSimpleClientDlg)
	ON_WM_SYSCOMMAND()
	ON_WM_PAINT()
	ON_WM_QUERYDRAGICON()
	ON_WM_DESTROY()
	ON_BN_CLICKED(IDC_BUTTON1, OnSendMSG)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CSimpleClientDlg message handlers

BOOL CSimpleClientDlg::OnInitDialog()
{
	CDialog::OnInitDialog();

	// Add "About..." menu item to system menu.

	// IDM_ABOUTBOX must be in the system command range.
	ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);
	ASSERT(IDM_ABOUTBOX < 0xF000);

	CMenu* pSysMenu = GetSystemMenu(FALSE);
	if (pSysMenu != NULL)
	{
		CString strAboutMenu;
		strAboutMenu.LoadString(IDS_ABOUTBOX);
		if (!strAboutMenu.IsEmpty())
		{
			pSysMenu->AppendMenu(MF_SEPARATOR);
			pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);
		}
	}

	// Set the icon for this dialog.  The framework does this automatically
	//  when the application's main window is not a dialog
	SetIcon(m_hIcon, TRUE);			// Set big icon
	SetIcon(m_hIcon, FALSE);		// Set small icon
	
	StartUp();
	
	return TRUE;  // return TRUE  unless you set the focus to a control
}

void CSimpleClientDlg::OnSysCommand(UINT nID, LPARAM lParam)
{
	if ((nID & 0xFFF0) == IDM_ABOUTBOX)
	{
		CAboutDlg dlgAbout;
		dlgAbout.DoModal();
	}
	else
	{
	 	CDialog::OnSysCommand(nID, lParam);
	}
}

// If you add a minimize button to your dialog, you will need the code below
//  to draw the icon.  For MFC applications using the document/view model,
//  this is automatically done for you by the framework.

void CSimpleClientDlg::OnPaint() 
{
	if (IsIconic())
	{
		CPaintDC dc(this); // device context for painting

		SendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0);

		// Center icon in client rectangle
		int cxIcon = GetSystemMetrics(SM_CXICON);
		int cyIcon = GetSystemMetrics(SM_CYICON);
		CRect rect;
		GetClientRect(&rect);
		int x = (rect.Width() - cxIcon + 1) / 2;
		int y = (rect.Height() - cyIcon + 1) / 2;

		// Draw the icon
		dc.DrawIcon(x, y, m_hIcon);
	}
	else
	{
		CDialog::OnPaint();
	}
}

// The system calls this to obtain the cursor to display while the user drags
//  the minimized window.
HCURSOR CSimpleClientDlg::OnQueryDragIcon()
{
	return (HCURSOR) m_hIcon;
}

void CSimpleClientDlg::OnOK() 
{
	if(isStart)
	{
		closesocket(m_hSocket);
		m_hSocket = NULL;
	}
	else
	{
		m_hSocket = socket(AF_INET, SOCK_STREAM,0);
		if (m_hSocket==INVALID_SOCKET)
		{
			AfxMessageBox("Socket Create Error!");
			return;
		}
	}
	UpdateData();

	m_addr.sin_family = AF_INET;
	m_addr.sin_addr.S_un.S_addr = inet_addr(m_strServer.GetBuffer(0));
	m_addr.sin_port = htons(1028);

	int ret;
	int error = 0;
	ret = connect(m_hSocket, (LPSOCKADDR)&m_addr, sizeof(m_addr));
	if(ret == SOCKET_ERROR)
	{
		AfxMessageBox("Connect Error!");
		return ;
	}
	CString str;
	str += char(m_strUser.GetLength());
	str += m_strUser;
	str += char(m_strPass.GetLength());
	str += m_strPass;
	char* buf = str.GetBuffer(0);
	ret = send(m_hSocket, buf, str.GetLength(), 0);
	if(ret != str.GetLength())
	{
		AfxMessageBox("Send data error!");
		return ;
	}
	
	DWORD dwthread;
	::CreateThread(NULL,0,Recvthread,(LPVOID)m_hSocket,0,&dwthread);	
	isStart=TRUE;
}

void CSimpleClientDlg::StartUp()
{
	WSADATA wsaData;
	WORD version = MAKEWORD(2, 0);
	int ret = WSAStartup(version, &wsaData);
	if(ret != 0)
		TRACE("Initilize Error!\n");
}

void CSimpleClientDlg::CleanUp()
{
	if (WSACleanup() != 0)
	{
		TRACE("UnInitilize Error:%d\n", WSAGetLastError());
	}
}

void CSimpleClientDlg::OnCancel() 
{
	if(m_hSocket != NULL)
	{
		closesocket(m_hSocket);
		m_hSocket = NULL;
	}
	CDialog::OnCancel();
}

void CSimpleClientDlg::OnDestroy() 
{
	CDialog::OnDestroy();
	
	if(m_hSocket != NULL)
	{
		closesocket(m_hSocket);
		m_hSocket = NULL;
	}
	CleanUp();
}

void CSimpleClientDlg::OnSendMSG() 
{
	if(ChatEnable)
	{
		UpdateData();
        int ret;
	    CString str;
	    str="發向服務器的消息為:";
	    str+=m_strMSG;
	    m_strMSG.Empty();
		UpdateData(FALSE);
		ret=send(m_hSocket,str,str.GetLength(),0);
		if(ret<0)
		{
		//return -1;
		}
		AfxMessageBox("Socket have send a msg!");
	}
	else
		AfxMessageBox("連接尚未建立,請先建立連接!");

    
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩不卡一二三区| 国产精品久久久久久亚洲毛片| 成人美女视频在线观看18| 午夜成人免费电影| 亚洲一区二区三区小说| 亚洲视频一区在线| 中文字幕在线视频一区| 中文字幕不卡三区| 日本一区二区免费在线| 国产日韩欧美在线一区| 久久亚洲综合色一区二区三区| 日韩你懂的在线观看| 欧美卡1卡2卡| 欧美一级专区免费大片| 欧美一级专区免费大片| 欧美成人vps| 久久免费精品国产久精品久久久久| 制服丝袜在线91| 欧美大黄免费观看| 久久色中文字幕| 国产精品色眯眯| 亚洲人一二三区| 亚洲成人中文在线| 久久精品国产一区二区三 | 一区二区三区鲁丝不卡| 亚洲国产日韩精品| 日韩不卡手机在线v区| 另类小说视频一区二区| 国产美女一区二区三区| 国产xxx精品视频大全| 91小视频在线免费看| 欧美亚日韩国产aⅴ精品中极品| 欧美精品久久久久久久多人混战| 日韩女优av电影在线观看| 国产女人水真多18毛片18精品视频| 一区视频在线播放| 午夜成人免费电影| 国产超碰在线一区| 欧美日韩美少妇| 精品少妇一区二区三区| 亚洲色欲色欲www在线观看| 日韩精品福利网| 国产99一区视频免费| 欧美伊人久久久久久久久影院| 日韩视频免费直播| 国产精品国产三级国产aⅴ中文 | 91.com在线观看| 久久精品水蜜桃av综合天堂| 亚洲影院在线观看| 国产一区二三区| 欧美性猛片aaaaaaa做受| 欧美成人高清电影在线| 一区二区免费在线播放| 国产精品白丝av| 欧美日本国产一区| 《视频一区视频二区| 美女脱光内衣内裤视频久久网站| 91片在线免费观看| 久久久久久久久久美女| 婷婷久久综合九色综合绿巨人| 成人听书哪个软件好| 欧美tickle裸体挠脚心vk| 夜夜嗨av一区二区三区中文字幕| 国产精品一区二区免费不卡| 欧美日韩久久一区| 亚洲在线视频一区| 91丨九色丨黑人外教| 久久这里只有精品6| 蜜臀久久99精品久久久久久9| 日本电影欧美片| 136国产福利精品导航| 国产成人在线色| 久久一二三国产| 久久99久久久久| 日韩三级高清在线| 蜜桃久久av一区| 欧美日韩aaaaa| 丝袜a∨在线一区二区三区不卡| 99久久99久久免费精品蜜臀| 国产精品日韩精品欧美在线| 国产激情偷乱视频一区二区三区| 日韩欧美区一区二| 久久99精品久久久久久久久久久久| 欧美日韩一区二区三区免费看| 亚洲美女精品一区| 91丝袜美腿高跟国产极品老师| 国产精品国产三级国产普通话蜜臀| 国产成人精品亚洲777人妖| 国产三级一区二区三区| 国产91精品一区二区麻豆网站| 国产亚洲成aⅴ人片在线观看| 国产一区美女在线| 国产日韩精品一区| 99久久精品一区| 亚洲欧美日韩久久| 欧美性三三影院| 日韩精品一卡二卡三卡四卡无卡| 91精品国产美女浴室洗澡无遮挡| 免费精品视频在线| 久久奇米777| 成人黄色电影在线| 亚洲精品一二三四区| 欧美日韩国产成人在线免费| 免费观看成人鲁鲁鲁鲁鲁视频| 久久综合色天天久久综合图片| 国产成人鲁色资源国产91色综| 国产精品国产精品国产专区不片| 91美女在线观看| 午夜精品成人在线视频| 精品成人一区二区三区| 大陆成人av片| 亚洲一二三区在线观看| 精品国产一区二区在线观看| 成人av网址在线| 亚洲国产另类精品专区| 精品久久国产字幕高潮| av福利精品导航| 免费人成黄页网站在线一区二区 | 精品在线你懂的| 国产精品国产成人国产三级| 欧美日韩日日摸| 高清beeg欧美| 日本在线不卡视频一二三区| 中文字幕免费一区| 69av一区二区三区| 99国产精品国产精品久久| 日韩不卡手机在线v区| 中文字幕制服丝袜一区二区三区| 日韩丝袜美女视频| 99精品久久只有精品| 九一九一国产精品| 亚洲自拍偷拍综合| 国产精品色在线观看| 欧美第一区第二区| 欧美日韩一区二区三区在线看| 国产乱码精品一区二区三| 亚洲国产三级在线| 亚洲色图欧美偷拍| 国产亚洲精品资源在线26u| 精品视频1区2区3区| 91影院在线免费观看| 国产精品99久久久久久久vr | 久久成人18免费观看| 亚洲激情图片一区| 国产精品理论片| 久久一区二区三区国产精品| 日韩欧美国产电影| 欧美色窝79yyyycom| 色综合婷婷久久| 99久久婷婷国产综合精品| 懂色av噜噜一区二区三区av| 极品少妇一区二区三区精品视频 | 日韩视频免费直播| 欧美日韩久久一区二区| 欧美日韩在线播放三区四区| 91女人视频在线观看| 99久久免费国产| 99re成人在线| 色综合欧美在线| 91一区一区三区| 一本大道av伊人久久综合| www.亚洲精品| 97精品久久久久中文字幕| 99在线视频精品| 99精品国产热久久91蜜凸| 成人av影院在线| fc2成人免费人成在线观看播放| 成人精品鲁一区一区二区| 国产成人午夜电影网| 国产 欧美在线| 99热精品一区二区| 日本久久一区二区| 欧美日韩精品一区视频| 欧美一级高清片| 久久蜜桃av一区二区天堂| 欧美国产精品一区二区三区| 中文字幕在线免费不卡| 尤物av一区二区| 丝袜国产日韩另类美女| 国产最新精品精品你懂的| 成人国产免费视频| 色婷婷综合久久久中文一区二区| 欧美影视一区二区三区| 日韩美一区二区三区| 国产欧美一区二区精品性色| 亚洲三级电影网站| 日韩精品国产精品| 国产激情一区二区三区桃花岛亚洲| 99re视频精品| 日韩一区二区三区免费看| 久久精品亚洲乱码伦伦中文 | 在线观看日韩av先锋影音电影院| 欧美电影一区二区三区| 久久毛片高清国产| 亚洲美女精品一区| 国产麻豆精品在线| 欧美在线观看你懂的| 精品国产乱码久久久久久老虎| 综合久久久久久| 加勒比av一区二区|