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

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

?? clientsocketdlg.cpp

?? tcp-udp高級程序設計
?? CPP
字號:
// ClientSocketDlg.cpp : implementation file
//

#include "stdafx.h"
#include <atlconv.h>
#include "ServerSocket.h"
#include "ClientSocketDlg.h"

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

const int SOCK_TCP	= 0;
const int SOCK_UDP  = 1;

/////////////////////////////////////////////////////////////////////////////
// CClientSocketDlg dialog


CClientSocketDlg::CClientSocketDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CClientSocketDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CClientSocketDlg)
	m_strPort = _T("2000");
	m_nSockType = SOCK_TCP;	// 默認是 TCP
	//}}AFX_DATA_INIT
	m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
}


void CClientSocketDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CClientSocketDlg)
	DDX_Control(pDX, IDC_TXT_MESSAGE, m_ctlMessage);
	DDX_Control(pDX, IDC_SVR_PORTINC, m_ctlPortInc);
	DDX_Control(pDX, IDC_MESSAGE_LIST, m_ctlMsgList);
	DDX_Control(pDX, IDC_IPADDRESS, m_ctlIPAddress);
	DDX_Text(pDX, IDC_SVR_PORT, m_strPort);
	DDX_Radio(pDX, IDC_TCP, m_nSockType);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CClientSocketDlg, CDialog)
	//{{AFX_MSG_MAP(CClientSocketDlg)
	ON_BN_CLICKED(IDC_BTN_START, OnBtnConnect)
	ON_BN_CLICKED(IDC_BTN_STOP, OnBtnDisconnect)
	ON_BN_CLICKED(IDC_BTN_SEND, OnBtnSend)
	ON_WM_DESTROY()
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CClientSocketDlg message handlers


//消息翻譯
BOOL CClientSocketDlg::PreTranslateMessage(MSG* pMsg) 
{
	if (pMsg->message == WM_KEYDOWN)
	{
		int nVirtKey = (int) pMsg->wParam;
		if (nVirtKey == VK_ESCAPE)
			return TRUE;

		if (nVirtKey == VK_RETURN && (GetFocus()->m_hWnd  == m_ctlMessage.m_hWnd))
		{
			if (m_SocketManager.IsOpen())
				OnBtnSend();
			return TRUE;
		}
	}

	return CDialog::PreTranslateMessage(pMsg);
}

BOOL CClientSocketDlg::OnInitDialog() 
{
	ASSERT( GetDlgItem(IDC_BTN_SEND) != NULL );
	ASSERT( GetDlgItem(IDC_BTN_START) != NULL );
	ASSERT( GetDlgItem(IDC_BTN_STOP) != NULL );
	ASSERT( GetDlgItem(IDC_TCP) != NULL );
	ASSERT( GetDlgItem(IDC_UDP) != NULL );

	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
	m_ctlPortInc.SetRange32( 2000, 4500);
	GetDlgItem(IDC_BTN_SEND)->EnableWindow( FALSE );
	GetDlgItem(IDC_BTN_STOP)->EnableWindow( FALSE );

	CString strLocal;
	m_SocketManager.GetLocalAddress( strLocal.GetBuffer(256), 256);
	strLocal.ReleaseBuffer();
	m_ctlIPAddress.SetWindowText( strLocal );

	// Initialize socket manager
	m_SocketManager.SetMessageWindow( &m_ctlMsgList );
	m_SocketManager.SetServerState( false );	// run as client
	m_SocketManager.SetSmartAddressing( false );	// always send to server
	
	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

//連接服務器
void CClientSocketDlg::OnBtnConnect() 
{
	UpdateData();

	CString strServer;
	//獲得服務器地址
	m_ctlIPAddress.GetWindowText( strServer );
	bool bSuccess;
	//如果是TCP連接
	if (m_nSockType == SOCK_TCP)
	{
		bSuccess = m_SocketManager.ConnectTo( strServer, m_strPort, AF_INET, SOCK_STREAM); // TCP
	}
	else
	{
		bSuccess = m_SocketManager.ConnectTo( strServer, m_strPort, AF_INET, SOCK_DGRAM); // UDP
	}

	//建立線程
	if (bSuccess && m_SocketManager.WatchComm())
	{

		GetDlgItem(IDC_BTN_SEND)->EnableWindow( TRUE );
		GetDlgItem(IDC_BTN_STOP)->EnableWindow( TRUE );
		NextDlgCtrl();
		GetDlgItem(IDC_BTN_START)->EnableWindow( FALSE );
		GetDlgItem(IDC_TCP)->EnableWindow( FALSE );
		GetDlgItem(IDC_UDP)->EnableWindow( FALSE );
		CString strMsg;
	
		//如果是TCP協議
		if (m_nSockType == SOCK_TCP)
		{
			strMsg = _T("連接建立在服務器: ") + strServer;
			strMsg += _T("上,端口為 ") + m_strPort + CString("\r\n");
		}
		else
		{
			SockAddrIn addrin;
			m_SocketManager.GetSockName( addrin );	// 獲得目前的地址
			LONG  uAddr = addrin.GetIPAddr();
			BYTE* sAddr = (BYTE*) &uAddr;
			short nPort = ntohs( addrin.GetPort() );
			CString strAddr;
			// IP地址保存成網絡形式
			strAddr.Format(_T("IP: %u.%u.%u.%u, Port: %d"),
						(UINT)(sAddr[0]), (UINT)(sAddr[1]),
						(UINT)(sAddr[2]), (UINT)(sAddr[3]), nPort);
			strMsg = _T("Socket created: ") + strAddr + CString("\r\n");
		}

		m_SocketManager.GetPeerName( m_SockPeer );
		m_ctlMsgList.SetWindowText( strMsg );
	}
	
}

void CClientSocketDlg::OnBtnDisconnect() 
{
	//斷開連接
	m_SocketManager.StopComm();
	if (!m_SocketManager.IsOpen())
	{
		GetDlgItem(IDC_BTN_START)->EnableWindow( TRUE );
		PrevDlgCtrl();
		GetDlgItem(IDC_BTN_STOP)->EnableWindow( FALSE );
		GetDlgItem(IDC_TCP)->EnableWindow( TRUE );
		GetDlgItem(IDC_UDP)->EnableWindow( TRUE );
	}
}

//客戶端發送信息
void CClientSocketDlg::OnBtnSend() 
{
	BYTE byBuffer[256] = { 0 };
	CString strText;

	// 更新數據
	UpdateData();
	//獲得要發送的信息
	m_ctlMessage.GetWindowText( strText );
	int nLen = strText.GetLength();
	
	if (nLen > 0)
	{
		//加上回車符號
		strText += _T("\r\n");
		nLen = strText.GetLength() + 1;
		USES_CONVERSION;
		strcpy((LPSTR)byBuffer, T2CA(strText));
		//發送出去
		m_SocketManager.WriteComm( byBuffer, nLen, INFINITE);
	}
}


void CClientSocketDlg::OnDestroy() 
{
	m_SocketManager.StopComm();

	CDialog::OnDestroy();

}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
中文字幕一区二区三区视频| 亚洲一区二区三区在线播放| 亚洲色图视频网站| 日韩中文字幕av电影| 成人av在线资源网| 精品国产乱码久久久久久浪潮| 亚洲乱码中文字幕| 高清成人在线观看| 久久精品视频一区| 国产在线精品一区二区不卡了| 宅男噜噜噜66一区二区66| 亚洲最大成人综合| 成人av在线影院| 中文字幕欧美三区| 国模无码大尺度一区二区三区| 欧美二区乱c少妇| 亚洲精品成人在线| 91麻豆国产精品久久| 国产精品美女久久久久aⅴ| 国产又黄又大久久| 精品国产sm最大网站免费看| 琪琪久久久久日韩精品| 欧美一区二区三区免费| 首页欧美精品中文字幕| 欧美欧美午夜aⅴ在线观看| 亚洲一区二区美女| 91黄色免费看| 亚洲欧洲99久久| www..com久久爱| 国产精品国产精品国产专区不蜜| 粉嫩一区二区三区在线看| 国产婷婷色一区二区三区在线| 国产精品一二三四五| 久久久精品人体av艺术| 国产成人精品亚洲777人妖| 国产女主播一区| 91视视频在线观看入口直接观看www| 国产免费成人在线视频| 不卡视频免费播放| 亚洲男人天堂av| 在线亚洲免费视频| 日韩国产精品久久| 日韩欧美国产综合在线一区二区三区| 精品一区二区国语对白| 久久久亚洲高清| 成a人片亚洲日本久久| 亚洲男人的天堂网| 91.xcao| 美女视频黄 久久| 日本一区二区三区四区在线视频| 99久久综合99久久综合网站| 亚洲综合色区另类av| 91精品免费在线| 福利一区在线观看| 亚洲一级二级三级在线免费观看| 6080国产精品一区二区| 福利视频网站一区二区三区| 亚洲免费在线播放| 日韩久久久精品| 不卡一区二区三区四区| 香蕉久久夜色精品国产使用方法| 日韩欧美成人激情| www.欧美日韩| 午夜精品一区在线观看| 国产午夜精品福利| 欧美亚洲免费在线一区| 精品一区二区综合| 亚洲日本成人在线观看| 欧美一区二区日韩| 色欧美乱欧美15图片| 狠狠色伊人亚洲综合成人| 综合亚洲深深色噜噜狠狠网站| 91精品中文字幕一区二区三区| 国产伦精品一区二区三区在线观看| 亚洲人成网站色在线观看| 日韩欧美成人激情| 在线观看日韩毛片| 成人国产电影网| 久久电影网站中文字幕 | 久久久噜噜噜久久人人看| 91亚洲男人天堂| 国产成人自拍在线| 五月天网站亚洲| 亚洲天堂久久久久久久| 精品国产一区二区三区四区四 | 久久久亚洲国产美女国产盗摄 | 欧美中文一区二区三区| 国产精品一区二区三区99| 日本伊人精品一区二区三区观看方式| 国产精品嫩草久久久久| 精品盗摄一区二区三区| 欧美日韩免费观看一区三区| 成人综合婷婷国产精品久久 | 日韩va欧美va亚洲va久久| 亚洲另类中文字| 成人欧美一区二区三区1314| 久久久av毛片精品| 精品日韩一区二区三区| 91麻豆精品国产91久久久更新时间| 97久久久精品综合88久久| 成人性视频免费网站| 国产经典欧美精品| 国产综合一区二区| 国产一区二三区| 久久精品国产久精国产爱| 日韩二区三区在线观看| 偷拍日韩校园综合在线| 亚洲一区中文在线| 亚洲电影一级黄| 亚洲国产一区二区三区青草影视| 一区二区三区电影在线播| 成人欧美一区二区三区| 亚洲精品日日夜夜| 亚洲影视在线播放| 亚洲高清免费观看高清完整版在线观看| 国产精品毛片久久久久久| 中日韩av电影| 国产精品对白交换视频| 亚洲人快播电影网| 亚洲国产成人高清精品| 五月激情综合婷婷| 美日韩一区二区| 国产一本一道久久香蕉| 成人av免费网站| 日本精品裸体写真集在线观看 | 欧美a级理论片| 蜜桃一区二区三区在线| 国产在线视视频有精品| 懂色av一区二区三区免费看| 91在线观看成人| 欧美日韩日本视频| 欧美成人vps| 国产精品国产自产拍在线| 一区二区三区四区激情| 日韩激情视频网站| 国产精品88av| 色婷婷国产精品| 欧美一区永久视频免费观看| 亚洲精品一区二区三区在线观看 | 亚洲欧美自拍偷拍| 亚洲图片欧美视频| 极品瑜伽女神91| 91一区二区在线| 欧美一卡2卡3卡4卡| 国产精品天天摸av网| 亚洲亚洲精品在线观看| 精品一区二区三区视频| 91视频精品在这里| 日韩一区二区影院| 中文字幕一区二区日韩精品绯色| 亚洲v日本v欧美v久久精品| 国产一区二区三区久久久| 在线亚洲免费视频| 久久婷婷成人综合色| 一区二区三区四区av| 国内精品久久久久影院色| 色狠狠一区二区三区香蕉| 精品国产免费人成电影在线观看四季| 国产精品麻豆一区二区| 捆绑变态av一区二区三区| 成人激情图片网| 日韩精品在线看片z| 亚洲欧美日韩国产综合在线 | 免费久久99精品国产| 91看片淫黄大片一级| 久久久久国产精品厨房| 天堂成人免费av电影一区| 成人精品视频一区二区三区| 91精品国产入口| 一区二区三区四区亚洲| 波多野结衣精品在线| 久久日一线二线三线suv| 午夜精品爽啪视频| 91天堂素人约啪| 国产人伦精品一区二区| 免费成人在线视频观看| 欧美日韩亚洲国产综合| 亚洲人成在线观看一区二区| 国产成人av影院| 久久综合九色综合97_久久久| 一区二区三区.www| 99这里都是精品| 国产精品女同互慰在线看| 国产一区二区三区不卡在线观看 | 在线观看不卡视频| 中文字幕一区不卡| 成人综合在线网站| 国产午夜精品理论片a级大结局| 经典三级在线一区| 2023国产一二三区日本精品2022| 日本午夜一区二区| 3d动漫精品啪啪| 日韩高清不卡在线| 日韩一级片网址| 美腿丝袜在线亚洲一区| 精品国产1区2区3区| 久久66热re国产| 久久久久久久久久看片| 国产精品综合在线视频| 国产亚洲va综合人人澡精品|