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

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

?? tcpclientdlg.cpp

?? Windows CE TCP 通信編程
?? 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()
{
	//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一区二区三区免费野_久草精品视频
欧美成人一区二区三区在线观看| 国产在线不卡视频| 色婷婷综合久久久久中文 | 欧美日韩在线播放一区| 一区二区三区日韩| 欧美女孩性生活视频| 天堂成人免费av电影一区| 日韩一区二区三区电影 | 一区二区三区高清| 欧美系列在线观看| 日本欧美加勒比视频| 亚洲精品一区二区三区在线观看| 国产在线精品视频| 国产精品美女久久久久久久| 色婷婷av一区二区三区大白胸| 天堂在线一区二区| 亚洲精品一区二区三区影院 | 成人免费看视频| 亚洲激情欧美激情| 91精品国产入口| 韩国欧美一区二区| 亚洲色图.com| 欧美一级二级在线观看| 国产老妇另类xxxxx| 亚洲欧美日韩精品久久久久| 欧美电影一区二区三区| 国产高清视频一区| 亚洲一区二区三区免费视频| 精品国产91乱码一区二区三区 | 欧美日韩一区在线| 国产一区久久久| 亚洲一二三四在线观看| 精品国产第一区二区三区观看体验| www.66久久| 毛片av中文字幕一区二区| 中文字幕中文字幕一区| 欧美一级午夜免费电影| aaa亚洲精品| 麻豆精品在线播放| 一区二区国产盗摄色噜噜| 精品99一区二区三区| 欧美日韩一区二区在线观看视频| 国产成人av一区二区三区在线观看| 亚洲国产一区在线观看| 久久久三级国产网站| 91.xcao| 91日韩精品一区| 国产成人8x视频一区二区 | 国内精品国产成人国产三级粉色| 亚洲日本在线天堂| 国产亚洲污的网站| 日韩一区二区免费在线观看| 91碰在线视频| aaa国产一区| 国产91精品精华液一区二区三区| 午夜国产精品影院在线观看| 1024亚洲合集| 国产精品入口麻豆九色| 精品福利一二区| 91精品国产综合久久婷婷香蕉| 一本到三区不卡视频| 成人福利视频在线看| 极品少妇xxxx精品少妇| 免费看精品久久片| 首页国产欧美日韩丝袜| 亚洲午夜精品久久久久久久久| 最新不卡av在线| 国产精品久久福利| 国产精品欧美极品| 国产欧美日韩精品a在线观看| 26uuu国产在线精品一区二区| 日韩精品一区二区三区视频播放| 欧美日韩国产在线观看| 欧美性三三影院| 欧美视频精品在线观看| 欧美主播一区二区三区美女| 在线观看欧美日本| 欧美天天综合网| 欧美日韩一区二区在线观看| 在线不卡的av| 日韩一卡二卡三卡四卡| 日韩一级免费观看| 欧美成人一区二区三区在线观看| 日韩欧美在线不卡| 欧美mv和日韩mv国产网站| 久久综合国产精品| 国产亚洲1区2区3区| 国产精品麻豆久久久| 中文字幕在线观看一区二区| 成人欧美一区二区三区在线播放| 亚洲三级视频在线观看| 亚洲午夜av在线| 视频在线观看一区| 久久99久久99小草精品免视看| 国产一区二区毛片| 不卡视频在线观看| 欧美日韩小视频| 日韩欧美国产精品一区| 久久色中文字幕| 日韩毛片在线免费观看| 亚洲国产一区二区视频| 久久精品99久久久| 不卡在线视频中文字幕| 91九色02白丝porn| 91精品在线一区二区| 久久久久一区二区三区四区| 日韩理论电影院| 日韩av在线播放中文字幕| 狠狠色狠狠色合久久伊人| 成人av影视在线观看| 91搞黄在线观看| 精品日本一线二线三线不卡| 综合欧美一区二区三区| 毛片基地黄久久久久久天堂| 99精品欧美一区| 在线综合亚洲欧美在线视频| 日本一区免费视频| 亚洲国产wwwccc36天堂| 国产乱人伦偷精品视频不卡| 色噜噜狠狠成人中文综合| 日韩欧美黄色影院| aaa国产一区| xfplay精品久久| 免费观看在线综合| 国产经典欧美精品| 欧美日韩国产一级片| 久久综合色之久久综合| 亚洲精品免费看| 国模冰冰炮一区二区| 色婷婷国产精品久久包臀| 2欧美一区二区三区在线观看视频| 综合自拍亚洲综合图不卡区| 国产呦精品一区二区三区网站| 色婷婷综合久久久久中文一区二区| 欧美大片顶级少妇| 亚洲国产乱码最新视频| 波多野结衣亚洲| 久久久久国色av免费看影院| 日韩av中文字幕一区二区| 日本道精品一区二区三区 | 91精品国产福利| 亚洲色图自拍偷拍美腿丝袜制服诱惑麻豆 | 色老综合老女人久久久| 久久免费的精品国产v∧| 五月激情综合婷婷| 色婷婷精品久久二区二区蜜臂av | 欧美美女一区二区在线观看| 欧美激情一区二区在线| 蜜臀av一区二区在线观看 | 精品中文字幕一区二区| 欧美亚洲一区二区在线观看| 国产精品久久久久毛片软件| 国产一区视频网站| 精品久久国产97色综合| 日本午夜一区二区| 777精品伊人久久久久大香线蕉| 亚洲精品综合在线| 色噜噜狠狠色综合中国| 亚洲日本在线观看| 99久精品国产| 欧美极品少妇xxxxⅹ高跟鞋| 国产一区美女在线| 久久久综合激的五月天| 国产在线不卡一区| 久久久久久久国产精品影院| 久久se精品一区精品二区| 欧美一级黄色片| 伦理电影国产精品| 欧美一级一区二区| 六月丁香综合在线视频| 欧美成人乱码一区二区三区| 欧美a级一区二区| 日韩一区二区免费在线电影| 久久精品国产亚洲高清剧情介绍| 日韩一级二级三级| 极品少妇xxxx精品少妇偷拍| 2欧美一区二区三区在线观看视频| 韩国三级电影一区二区| 中日韩免费视频中文字幕| 91在线观看下载| 一区二区三区在线高清| 欧美日韩一区二区三区在线| 午夜视频一区在线观看| 日韩精品自拍偷拍| 国产美女av一区二区三区| 精品不卡在线视频| caoporen国产精品视频| 一区二区三区在线视频观看58 | 欧美一区二区三区在线观看| 蜜桃视频免费观看一区| 久久精品一二三| 色婷婷国产精品综合在线观看| 亚洲成人在线观看视频| 精品国产乱码久久久久久浪潮| 国产老肥熟一区二区三区| 亚洲欧美偷拍三级| 这里只有精品电影| 国产成人精品在线看| 亚洲精品视频免费观看| 这里只有精品电影|