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

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

?? chatdlg.cpp

?? 多線程程序的編寫
?? CPP
字號:
// ChatDlg.cpp : implementation file
//

#include "stdafx.h"
#include "Chat.h"
#include "ChatDlg.h"

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

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

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()

/////////////////////////////////////////////////////////////////////////////
// CChatDlg dialog

CChatDlg::CChatDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CChatDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CChatDlg)
		// NOTE: the ClassWizard will add member initialization here
	//}}AFX_DATA_INIT
	// Note that LoadIcon does not require a subsequent DestroyIcon in Win32
	m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
}

void CChatDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CChatDlg)
		// NOTE: the ClassWizard will add DDX and DDV calls here
	//}}AFX_DATA_MAP
}

BEGIN_MESSAGE_MAP(CChatDlg, CDialog)
	//{{AFX_MSG_MAP(CChatDlg)
	ON_WM_SYSCOMMAND()
	ON_WM_PAINT()
	ON_WM_QUERYDRAGICON()
	ON_BN_CLICKED(IDC_BTN_SEND, OnBtnSend)
	//}}AFX_MSG_MAP
	ON_MESSAGE(WM_RECVDATA,OnRecvData)
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CChatDlg message handlers

BOOL CChatDlg::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
	
	// TODO: Add extra initialization here
	InitSocket();
	RECVPARAM *pRecvParam=new RECVPARAM;
	pRecvParam->sock=m_socket;
	pRecvParam->hwnd=m_hWnd;
	HANDLE hThread=CreateThread(NULL,0,RecvProc,(LPVOID)pRecvParam,0,NULL);
	CloseHandle(hThread);
	return TRUE;  // return TRUE  unless you set the focus to a control
}

void CChatDlg::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 CChatDlg::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 CChatDlg::OnQueryDragIcon()
{
	return (HCURSOR) m_hIcon;
}

BOOL CChatDlg::InitSocket()
{
	m_socket=socket(AF_INET,SOCK_DGRAM,0);
	if(INVALID_SOCKET==m_socket)
	{
		MessageBox("套接字創建失敗!");
		return FALSE;
	}
	SOCKADDR_IN addrSock;
	addrSock.sin_family=AF_INET;
	addrSock.sin_port=htons(6000);
	addrSock.sin_addr.S_un.S_addr=htonl(INADDR_ANY);

	int retval;
	retval=bind(m_socket,(SOCKADDR*)&addrSock,sizeof(SOCKADDR));
	if(SOCKET_ERROR==retval)
	{
		closesocket(m_socket);
		MessageBox("綁定失敗!");
		return FALSE;
	}
	return TRUE;

}

DWORD WINAPI CChatDlg::RecvProc(LPVOID lpParameter)
{
	SOCKET sock=((RECVPARAM*)lpParameter)->sock;
	HWND hwnd=((RECVPARAM*)lpParameter)->hwnd;
	delete lpParameter;	//視頻講述時,遺忘了釋放內存的操作。sunxin

	SOCKADDR_IN addrFrom;
	int len=sizeof(SOCKADDR);

	char recvBuf[200];
	char tempBuf[300];
	int retval;
	while(TRUE)
	{
		retval=recvfrom(sock,recvBuf,200,0,(SOCKADDR*)&addrFrom,&len);
		if(SOCKET_ERROR==retval)
			break;
		sprintf(tempBuf,"%s說: %s",inet_ntoa(addrFrom.sin_addr),recvBuf);
		::PostMessage(hwnd,WM_RECVDATA,0,(LPARAM)tempBuf);
	}
	return 0;
}

void CChatDlg::OnRecvData(WPARAM wParam,LPARAM lParam)
{
	CString str=(char*)lParam;
	CString strTemp;
	GetDlgItemText(IDC_EDIT_RECV,strTemp);
	str+="\r\n";
	str+=strTemp;
	SetDlgItemText(IDC_EDIT_RECV,str);
}

void CChatDlg::OnBtnSend() 
{
	// TODO: Add your control notification handler code here
	DWORD dwIP;
	((CIPAddressCtrl*)GetDlgItem(IDC_IPADDRESS1))->GetAddress(dwIP);

	SOCKADDR_IN addrTo;
	addrTo.sin_family=AF_INET;
	addrTo.sin_port=htons(6000);
	addrTo.sin_addr.S_un.S_addr=htonl(dwIP);

	CString strSend;
	GetDlgItemText(IDC_EDIT_SEND,strSend);
	sendto(m_socket,strSend,strSend.GetLength()+1,0,
		(SOCKADDR*)&addrTo,sizeof(SOCKADDR));
	SetDlgItemText(IDC_EDIT_SEND,"");
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩在线精品一区二区三区激情| 337p粉嫩大胆噜噜噜噜噜91av| 欧美电影在线免费观看| 久久亚洲春色中文字幕久久久| 亚洲日本中文字幕区| 激情文学综合丁香| 欧美色综合网站| 国产精品无码永久免费888| 蜜桃精品视频在线观看| 91美女视频网站| 国产调教视频一区| 久久电影国产免费久久电影| 色婷婷av一区二区| 国产精品视频线看| 国精产品一区一区三区mba桃花 | 欧美日韩小视频| 中文字幕一区二区三中文字幕| 国内欧美视频一区二区| 51午夜精品国产| 婷婷六月综合网| 在线观看www91| 亚洲综合999| 91精品办公室少妇高潮对白| 国产清纯美女被跳蛋高潮一区二区久久w| 午夜精品视频一区| 欧美日韩三级一区二区| 亚洲黄色免费电影| 在线观看亚洲精品| 亚洲精品一二三区| 色综合久久综合| 日韩伦理电影网| 91免费看`日韩一区二区| 国产精品乱人伦一区二区| 国产精品原创巨作av| 久久久99精品久久| 粗大黑人巨茎大战欧美成人| 久久综合九色综合欧美98| 国内精品伊人久久久久av一坑 | 狠狠色伊人亚洲综合成人| 欧美一区二区三区视频免费播放| 婷婷综合五月天| 日韩视频一区在线观看| 久久成人久久鬼色| 久久久久久麻豆| 东方aⅴ免费观看久久av| 国产精品久久免费看| 色综合欧美在线| 亚洲成人黄色影院| 欧美精品自拍偷拍动漫精品| 日本不卡不码高清免费观看| 日韩午夜av电影| 粉嫩久久99精品久久久久久夜| 久久久精品黄色| 91网站黄www| 亚洲福利视频一区二区| 日韩免费在线观看| 国产成人啪午夜精品网站男同| 欧美韩国一区二区| 欧美无乱码久久久免费午夜一区| 日韩av成人高清| 久久久精品日韩欧美| 91欧美激情一区二区三区成人| 亚洲一区二区精品视频| 精品播放一区二区| 91农村精品一区二区在线| 亚洲不卡在线观看| 欧美国产日韩精品免费观看| 日本高清不卡一区| 极品瑜伽女神91| 亚洲人成网站色在线观看| 欧美猛男男办公室激情| 国产福利一区二区三区| 亚洲综合色视频| 久久久久久亚洲综合影院红桃| 色综合久久综合网欧美综合网| 日韩av网站在线观看| 国产精品传媒入口麻豆| 欧美一区中文字幕| 91在线视频在线| 国内精品伊人久久久久av一坑| 亚洲精品国产品国语在线app| 日韩一区二区在线观看| 一本色道a无线码一区v| 国产一区二区三区av电影| 亚洲黄色尤物视频| 久久亚洲影视婷婷| 欧美日韩精品专区| 99精品欧美一区二区三区综合在线| 日本不卡高清视频| 亚洲一区二区三区不卡国产欧美 | 91精品国产乱| 91成人看片片| 丁香五精品蜜臀久久久久99网站| 日本女人一区二区三区| 一区二区三区中文在线| 国产精品色噜噜| 久久天堂av综合合色蜜桃网| 欧美日韩在线综合| 色悠久久久久综合欧美99| 国产a久久麻豆| 久久99精品久久久久久动态图| 一区二区三区在线视频观看| 国产精品久久久久一区二区三区共| 日韩一级片在线观看| 欧美日韩aaaaaa| 欧美亚洲一区二区在线观看| 97久久人人超碰| 盗摄精品av一区二区三区| 精品亚洲成a人在线观看| 日本在线不卡视频| 性做久久久久久免费观看欧美| 亚洲精品美国一| 亚洲午夜精品网| 亚洲超碰97人人做人人爱| 亚洲国产精品一区二区久久恐怖片| 中文字幕一区二区三区四区 | 精品av综合导航| 日韩欧美色电影| 欧美xxxxxxxxx| www一区二区| 久久久www免费人成精品| 国产三级三级三级精品8ⅰ区| 国产亚洲人成网站| 国产精品免费aⅴ片在线观看| 欧美激情综合在线| 国产精品成人在线观看| 亚洲精品免费在线播放| 午夜不卡av在线| 日本va欧美va瓶| 国产一区二区三区av电影| 国产盗摄一区二区| 91在线视频在线| 欧美日韩国产精品自在自线| 欧美精品视频www在线观看| 日韩欧美黄色影院| 欧美激情一区二区三区不卡| 亚洲天堂久久久久久久| 香蕉久久夜色精品国产使用方法 | 亚洲欧美乱综合| 一级中文字幕一区二区| 丝袜亚洲另类丝袜在线| 国产精品一区专区| 99久久精品费精品国产一区二区| 91视频观看免费| 欧美一级搡bbbb搡bbbb| 国产亚洲成aⅴ人片在线观看| 18欧美亚洲精品| 无吗不卡中文字幕| 成人久久视频在线观看| 欧美精品日韩一区| 欧美激情在线一区二区三区| 一区二区三区四区在线播放| 天堂在线一区二区| 国产精品系列在线观看| 91国产丝袜在线播放| 精品久久久久久久一区二区蜜臀| 国产精品美女一区二区三区| 亚洲成在线观看| 国产精品自产自拍| 欧美三级在线视频| 久久久久久一二三区| 五月开心婷婷久久| 国产69精品久久777的优势| 欧美三级中文字| 国产免费久久精品| 轻轻草成人在线| 色婷婷激情综合| 久久毛片高清国产| 肉肉av福利一精品导航| 99综合影院在线| 精品日韩av一区二区| 亚洲精品欧美在线| 丰满放荡岳乱妇91ww| 91精品麻豆日日躁夜夜躁| 亚洲四区在线观看| 国产美女精品在线| 51久久夜色精品国产麻豆| 亚洲精选视频在线| 风间由美性色一区二区三区| 91精品国产欧美一区二区18| 亚洲精品高清视频在线观看| 国产一区二区在线影院| 欧美久久久久久蜜桃| 亚洲免费伊人电影| 成人午夜视频免费看| 精品久久久久一区二区国产| 午夜久久久影院| 91久久线看在观草草青青| 国产精品夫妻自拍| 粉嫩久久99精品久久久久久夜| 2014亚洲片线观看视频免费| 日韩不卡手机在线v区| 欧美日韩中文一区| 一区二区三区日本| 色综合色狠狠天天综合色| 国产精品久久久久久妇女6080| 久久国产剧场电影| wwwwxxxxx欧美| 国产福利不卡视频| 国产精品毛片高清在线完整版|