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

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

?? tcpclientdlg.cpp

?? 移植到arm9上的TCPCLIENT代碼
?? CPP
字號:
// TCPClientDlg.cpp : implementation file
//

#include "stdafx.h"
#include "TCPClient.h"
#include "TCPClientDlg.h"

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

/////////////////////////////////////////////////////////////////////////////
// CTCPClientDlg dialog

CTCPClientDlg::CTCPClientDlg(CWnd* pParent /*=NULL*/)
: CDialog(CTCPClientDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CTCPClientDlg)
	m_remoteHost = _T("");
	m_remotePort = 0;
	m_recvData = _T("");
	m_sendData = _T("");
	//}}AFX_DATA_INIT
	// Note that LoadIcon does not require a subsequent DestroyIcon in Win32
	m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
}

void CTCPClientDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CTCPClientDlg)
	DDX_Text(pDX, IDC_EDTREMOTEHOST, m_remoteHost);
	DDX_Text(pDX, IDC_EDTREMOTEPORT, m_remotePort);
	DDX_Text(pDX, IDC_EDTRECV, m_recvData);
	DDX_Text(pDX, IDC_EDTSENDDATA, m_sendData);
	//}}AFX_DATA_MAP
}

BEGIN_MESSAGE_MAP(CTCPClientDlg, CDialog)
//{{AFX_MSG_MAP(CTCPClientDlg)
ON_BN_CLICKED(IDC_BTNCONN, OnBtnconn)
ON_BN_CLICKED(IDC_BTNDISCONN, OnBtndisconn)
ON_BN_CLICKED(IDC_BTNSENDDATA, OnBtnsenddata)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CTCPClientDlg message handlers

BOOL CTCPClientDlg::OnInitDialog()
{
	bool m_bFullScreen;
	m_bFullScreen = FALSE;
	CDialog::OnInitDialog();
	
	// 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
	
	CenterWindow(GetDesktopWindow());	// center to the hpc screen
	
	//初始化輸入值
	m_remoteHost = GetLocalIP();
	m_remotePort = 5000;
	UpdateData(FALSE);
	return TRUE;  // return TRUE  unless you set the focus to a control
}


//連接斷開事件
void CALLBACK CTCPClientDlg::OnDisConnect(CWnd* pWnd)
{
	CTCPClientDlg * pDlg = (CTCPClientDlg*)pWnd;
	
	CStatic * pStatus = (CStatic *)pDlg->GetDlgItem(IDC_LBLCONNSTATUS);
	ASSERT(pStatus != NULL);
	pStatus->SetWindowText(_T("連接斷開"));
	
	/*設置按鈕可用屬性*/
	CButton * pBtnConn =(CButton*)pDlg->GetDlgItem(IDC_BTNCONN);
	CButton * pBtnDisConn = (CButton*)pDlg->GetDlgItem(IDC_BTNDISCONN);
	CButton * pBtnSendData =  (CButton*)pDlg->GetDlgItem(IDC_BTNSENDDATA);
	ASSERT(pBtnConn != NULL );
	ASSERT(pBtnDisConn != NULL );
	ASSERT(pBtnSendData != NULL );
	pBtnConn->EnableWindow(TRUE);
	pBtnDisConn->EnableWindow(FALSE);
	pBtnSendData->EnableWindow(FALSE);
}

//數據接收事件
void CALLBACK CTCPClientDlg::OnRead(CWnd* pWnd,const char * buf,int len )
{
	CTCPClientDlg * pDlg = (CTCPClientDlg*)pWnd;
	CEdit * pEdtRecv = (CEdit*)pDlg->GetDlgItem(IDC_EDTRECV);
	ASSERT(pEdtRecv != NULL);
	CString strRecv = buf;
	//將接收的數據顯示到接收文本框上
	pEdtRecv->SetWindowText(strRecv);
}

//Socket錯誤事件
void CALLBACK CTCPClientDlg::OnError(CWnd* pWnd,int nErrorCode)
{
	AfxMessageBox(_T("客戶端socket發生錯誤"));
}


//建立連接按鈕
void CTCPClientDlg::OnBtnconn() 
{
	UpdateData(TRUE);
	//設置m_tcpClient屬性
	m_tcpClient.m_remoteHost = m_remoteHost;
	m_tcpClient.m_port = m_remotePort;
	m_tcpClient.OnDisConnect = OnDisConnect;
	m_tcpClient.OnRead = OnRead;
	m_tcpClient.OnError = OnError;
	//打開客戶端socket
	m_tcpClient.Open(this);
	
	//建立與服務器端連接
	if (m_tcpClient.Connect())
	{
		CStatic *pStatus = (CStatic*)GetDlgItem(IDC_LBLCONNSTATUS);
		ASSERT(pStatus != NULL);
		pStatus->SetWindowText(L"建立連接");
		UpdateData(FALSE);
	}
	else
	{
		AfxMessageBox(_T("建立連接失敗"));
		CStatic *pStatus = (CStatic*)GetDlgItem(IDC_LBLCONNSTATUS);
		ASSERT(pStatus != NULL);
		pStatus->SetWindowText(L"連接斷開");
		return;
	}
	/*設置按鈕可用屬性*/
	CButton * pBtnConn =(CButton*)GetDlgItem(IDC_BTNCONN);
	CButton * pBtnDisConn = (CButton*)GetDlgItem(IDC_BTNDISCONN);
	CButton * pBtnSendData =  (CButton*)GetDlgItem(IDC_BTNSENDDATA);
	ASSERT(pBtnConn != NULL );
	ASSERT(pBtnDisConn != NULL );
	ASSERT(pBtnSendData != NULL );
	pBtnConn->EnableWindow(FALSE);
	pBtnDisConn->EnableWindow(TRUE);
	pBtnSendData->EnableWindow(TRUE);
	
}

//斷開連接按鈕單擊事件
void CTCPClientDlg::OnBtndisconn() 
{
	if (m_tcpClient.Close())
	{
		CStatic *pStatus = (CStatic*)GetDlgItem(IDC_LBLCONNSTATUS);
		ASSERT(pStatus != NULL);
		pStatus->SetWindowText(L"連接斷開");
		CButton * pBtnConn =(CButton*)GetDlgItem(IDC_BTNCONN);
		CButton * pBtnDisConn = (CButton*)GetDlgItem(IDC_BTNDISCONN);
		CButton * pBtnSendData = (CButton*)GetDlgItem(IDC_BTNSENDDATA);
		ASSERT(pBtnConn != NULL );
		ASSERT(pBtnDisConn != NULL );
		ASSERT(pBtnSendData != NULL );
		pBtnConn->EnableWindow(TRUE);
		pBtnDisConn->EnableWindow(FALSE);
		pBtnSendData->EnableWindow(FALSE);
	}
	else
	{
		AfxMessageBox(_T("連接斷開失敗"));
	}	
}

//發送數據按鈕單擊事件代碼
void CTCPClientDlg::OnBtnsenddata() 
{
	char * sendBuf;
	int sendLen=0;
	UpdateData(TRUE);
	
	sendLen = m_sendData.GetLength();
	sendBuf = new char[sendLen*2];
	wcstombs(sendBuf,m_sendData,sendLen);
	if (!m_tcpClient.SendData(sendBuf,sendLen))
	{
		AfxMessageBox(_T("發送失敗"));
	}
	delete[] sendBuf;
	sendBuf = NULL;		
}

//得到本地的IP地址
CString CTCPClientDlg::GetLocalIP()
{
	
	HOSTENT *LocalAddress;
	char	*Buff;
	TCHAR	*wBuff;
	CString strReturn = _T("");
	
	
	//創建新的緩沖區
	Buff = new char[256];
	wBuff = new TCHAR[256];
	//置空緩沖區
	memset(Buff, '\0', 256);
	memset(wBuff, TEXT('\0'), 256*sizeof(TCHAR));
	//得到本地計算機名
	if (gethostname(Buff, 256) == 0)
	{
		//轉換成雙字節字符串
		mbstowcs(wBuff, Buff, 256);
		//得到本地地址
		LocalAddress = gethostbyname(Buff);
		//置空buff
		memset(Buff, '\0', 256);
		//組合本地IP地址
		sprintf(Buff, "%d.%d.%d.%d\0", LocalAddress->h_addr_list[0][0] & 0xFF,
			LocalAddress->h_addr_list[0][1] & 0x00FF, LocalAddress->h_addr_list[0][2] & 0x0000FF, LocalAddress->h_addr_list[0][3] & 0x000000FF);
		//置空wBuff
		memset(wBuff, TEXT('\0'), 256*sizeof(TCHAR));
		//轉換成雙字節字符串
		mbstowcs(wBuff, Buff, 256);
        //設置返回值
		strReturn = wBuff;
	}
	else
	{
	}
	
	//釋放Buff緩沖區
	delete[] Buff;
	//釋放wBuff緩沖區
	delete[] wBuff;
	return strReturn;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩一区二区三区电影| 日韩一区二区三区免费看| 久久99精品久久只有精品| 五月天激情综合| 亚洲一区二区三区四区五区黄 | 国产一区二区精品在线观看| 午夜伦欧美伦电影理论片| 亚洲黄一区二区三区| 亚洲乱码国产乱码精品精的特点 | 一本久久综合亚洲鲁鲁五月天| 国产一区二区调教| 乱中年女人伦av一区二区| 久久国产精品72免费观看| 国产又黄又大久久| 国产成人精品一区二 | 亚洲激情综合网| 一二三区精品视频| 日日噜噜夜夜狠狠视频欧美人| 亚洲第一电影网| 麻豆精品一区二区综合av| 国产精品一区二区久久不卡| 成人99免费视频| 欧美日韩专区在线| 26uuu亚洲综合色| 亚洲色图视频网站| 午夜国产不卡在线观看视频| 精品一区二区在线观看| 成人免费视频免费观看| 91福利在线免费观看| 日韩欧美中文一区| 国产精品久久毛片av大全日韩| 亚洲影视在线观看| 国产一区不卡视频| 色综合久久精品| 欧美电视剧在线观看完整版| 成人免费一区二区三区视频| 日韩国产在线一| 成人91在线观看| 精品三级在线观看| 亚洲精品成a人| 国产一区999| 91精品国产黑色紧身裤美女| 国产欧美一区二区精品性色| 午夜精品久久一牛影视| 成人动漫视频在线| 精品国产欧美一区二区| 一区二区三区不卡视频| 国产精品一区二区你懂的| 4438x亚洲最大成人网| 亚洲欧洲成人精品av97| 国产美女久久久久| 91精品国产综合久久精品图片| 欧美国产一区在线| 久久精品99国产精品| 欧洲精品一区二区| 日韩美女精品在线| 丰满白嫩尤物一区二区| 精品国产sm最大网站| 婷婷久久综合九色综合伊人色| 99麻豆久久久国产精品免费优播| 精品久久99ma| 婷婷六月综合网| 欧美三级日本三级少妇99| 中文在线免费一区三区高中清不卡| 看电影不卡的网站| 制服丝袜成人动漫| 日韩黄色一级片| 91精品国产综合久久婷婷香蕉 | 亚洲老妇xxxxxx| 成人一道本在线| 国产日韩成人精品| 国产一区二区三区免费| 久久影院午夜论| 极品少妇一区二区三区精品视频 | 成人精品电影在线观看| 欧美激情资源网| 国产不卡在线视频| 中文字幕日本乱码精品影院| 成人一区在线观看| 成人免费在线视频观看| 成人美女在线观看| 亚洲色图.com| 91成人网在线| 午夜精品影院在线观看| 欧美一卡二卡三卡| 国产在线视频一区二区三区| 久久伊99综合婷婷久久伊| 粉嫩久久99精品久久久久久夜| 中文字幕精品一区| 色天使久久综合网天天| 一区二区成人在线视频| 51精品视频一区二区三区| 精品一区二区三区av| 中文av一区二区| 91久久奴性调教| 老司机精品视频导航| 亚洲国产精品黑人久久久| 一本大道久久a久久精二百| 午夜天堂影视香蕉久久| 精品免费视频.| 99re这里都是精品| 天天综合色天天| 久久久精品日韩欧美| 91色porny| 日韩中文字幕91| 久久久久久久久久久黄色| 91美女片黄在线观看91美女| 舔着乳尖日韩一区| 久久人人超碰精品| 欧洲人成人精品| 韩国精品在线观看| 亚洲欧美一区二区三区国产精品 | 久久97超碰国产精品超碰| 欧美国产1区2区| 7799精品视频| 成人免费av在线| 免费成人在线网站| 亚洲免费色视频| 久久久久久久久久久黄色| 欧美日韩一区精品| hitomi一区二区三区精品| 蜜臀精品久久久久久蜜臀| 亚洲欧洲成人自拍| 精品久久免费看| 欧美日本乱大交xxxxx| eeuss影院一区二区三区| 久久成人精品无人区| 亚洲午夜av在线| 日韩美女视频19| 国产亚洲婷婷免费| 欧美一二区视频| 欧美精品久久一区二区三区| 92国产精品观看| 国产精品亚洲视频| 国内精品免费在线观看| 午夜视频在线观看一区| 亚洲免费色视频| 亚洲美女视频在线| 中文字幕av一区 二区| 国产日韩欧美在线一区| 日韩三级.com| 日韩女同互慰一区二区| 欧美日本乱大交xxxxx| 欧洲av在线精品| 在线观看日产精品| 色综合天天做天天爱| 欧美性色黄大片手机版| 成人深夜福利app| 国产成人综合精品三级| 久草中文综合在线| 美女视频免费一区| 捆绑调教一区二区三区| 日韩限制级电影在线观看| 成人激情电影免费在线观看| 国内精品国产成人| 国产一区二区三区蝌蚪| 国产精品888| 国产风韵犹存在线视精品| 国产高清不卡一区二区| 成人激情黄色小说| 色天天综合色天天久久| 欧美三区在线观看| 欧美日韩的一区二区| 制服视频三区第一页精品| 日韩视频不卡中文| 久久久久亚洲蜜桃| 中文字幕一区二区三区四区不卡| 国产精品―色哟哟| 亚洲综合在线电影| 日一区二区三区| 精品亚洲免费视频| 成人国产精品免费观看视频| 91丨porny丨在线| 欧洲av在线精品| 欧美v日韩v国产v| 欧美极品少妇xxxxⅹ高跟鞋 | 亚洲成人综合在线| 全国精品久久少妇| 国产成人福利片| 欧美午夜精品一区二区三区| 日韩欧美国产综合| 国产精品久久久久久久久免费相片| 国产精品美女久久久久久久久久久 | 一区二区三区视频在线看| 午夜精品一区二区三区三上悠亚 | 91丝袜呻吟高潮美腿白嫩在线观看| 色88888久久久久久影院野外| 欧美精品日韩一本| 国产嫩草影院久久久久| 亚洲成va人在线观看| 国产一区二区福利视频| 欧美视频一区在线观看| 国产欧美一区二区精品久导航 | 精品va天堂亚洲国产| 一区二区三区四区不卡在线| 国产在线精品一区二区夜色| 色偷偷88欧美精品久久久| 久久亚洲欧美国产精品乐播| 亚洲在线视频一区| 成人av资源在线|