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

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

?? clientdlg.cpp

?? 這是數據傳輸的代碼
?? CPP
字號:
// ClientDlg.cpp : implementation file
//

#include "stdafx.h"
#include "FileShare.h"
#include "ClientDlg.h"

#include "ThreadProc.h"

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

extern CStatusBarCtrl g_StatusBar;
/////////////////////////////////////////////////////////////////////////////
// CClientDlg dialog


CClientDlg::CClientDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CClientDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CClientDlg)
	m_strFileName = _T("");
	m_nPort = 488;
	m_strAddr = _T("");
	m_strMessage = _T("");
	m_nTime = 0;
	//}}AFX_DATA_INIT
	this->m_nLastSend=0;
	this->m_nTotalSend=0;
}


void CClientDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CClientDlg)
	DDX_Text(pDX, IDC_FILENAME, m_strFileName);
	DDX_Text(pDX, IDC_PORT, m_nPort);
	DDX_Text(pDX, IDC_SERVERADDRESS, m_strAddr);
	DDX_Text(pDX, IDC_MESSAGE, m_strMessage);
	DDX_Text(pDX, IDC_EDIT_TIMEV, m_nTime);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CClientDlg, CDialog)
	//{{AFX_MSG_MAP(CClientDlg)
	ON_WM_LBUTTONDBLCLK()
	ON_WM_SIZE()
	ON_BN_CLICKED(IDC_SEND, OnSend)
	ON_MESSAGE(WM_THREADMSG,OnThreadMsg)
	ON_WM_TIMER()
	ON_WM_DESTROY()
	ON_BN_CLICKED(IDC_BROWSE_FILE, OnBrowseFile)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CClientDlg message handlers

void CClientDlg::OnLButtonDblClk(UINT nFlags, CPoint point) 
{
AfxMessageBox("dsfsdf");	
//	CDialog::OnLButtonDblClk(nFlags, point);
}

void CClientDlg::OnSize(UINT nType, int cx, int cy) 
{
	CDialog::OnSize(nType, cx, cy);
	HWND h;
	h=::GetDlgItem(this->GetSafeHwnd(),IDC_MESSAGE);
	::SetWindowPos(h,NULL,0,140,cx,cy-140,0);
}

void CClientDlg::OnSend() 
{
	UpdateData(true);
	char				addr[512];
	CString				strFileName,strTmp;
	struct sockaddr_in	sock_addr;
	DWORD				ip;
 	SERVICEPARM			*p;
	int					nIndex;
	
	strcpy(addr,(char*)(LPCTSTR)this->m_strAddr);
	if(GetAddr(addr,&ip))
	{
		AfxMessageBox("無法解析主機地址!");
		return;
	}
	sock_addr.sin_family=AF_INET;
	sock_addr.sin_port=htons(this->m_nPort);
	sock_addr.sin_addr.S_un.S_addr = htonl(ip);

	strTmp = this->m_strFileName;
	nIndex=strTmp.Find("\r\n",0);
	if(nIndex==-1)
	{
		strFileName=strTmp;
	}
	else
	{
		strFileName=strTmp.Left(nIndex);
		strTmp = strTmp.Right(strTmp.GetLength()-nIndex-2);
	}

	while(strFileName.GetLength())
	{
		p=(SERVICEPARM*)malloc(sizeof(SERVICEPARM));
		p->sockservice = socket(AF_INET,SOCK_STREAM,0);
		if(connect(p->sockservice,(sockaddr*)&sock_addr,sizeof(sock_addr)))
		{
			free(p);
			AfxMessageBox("無法連接到主機!");
			return;
		}
		strcpy(p->path,strFileName.GetBuffer(1));
		p->hwndServerDlg=this->GetSafeHwnd();
		p->nTime = m_nTime;
		if(AfxBeginThread(SendDataProc,p)==NULL)
		{
			AfxMessageBox("創建線程失敗!");
			return;
		}
		else
		{
			GetDlgItem(IDC_SEND)->EnableWindow(false);
		}

		nIndex=strTmp.Find("\r\n",0);
		if(nIndex==-1)
		{
			strFileName="";
		}
		else
		{
			strFileName=strTmp.Left(nIndex);
			strTmp = strTmp.Right(strTmp.GetLength()-nIndex-2);
		}
	}
}

BOOL CClientDlg::OnInitDialog() 
{
	CDialog::OnInitDialog();
	
	// TODO: Add extra initialization here

	char	sz[256];

	GetPrivateProfileString(FILESHARE,SERVERADDR,"",sz,sizeof(sz),CONFIG_FILE);
	this->m_strAddr=sz;
	GetPrivateProfileString(FILESHARE,SERVERPORT,"",sz,sizeof(sz),CONFIG_FILE);
	this->m_nPort = atoi(sz);
	GetPrivateProfileString(FILESHARE,FILENAME,"",sz,sizeof(sz),CONFIG_FILE);
	this->m_strFileName=sz;
	UpdateData(false);

	this->SetTimer(SEND_SPEED_TIMER,TIMER_LONG,NULL);
	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

void CClientDlg::OnThreadMsg(WPARAM wParm,LPARAM lParm)
{
	UpdateData(true);
	char msg[1024];
	switch(wParm)
	{
	case MSG_THREADEXIT:
		GetDlgItem(IDC_SEND)->EnableWindow(true);
		break;
	case MSG_SHOWMSG:
		strcpy(msg,(char*)lParm);
		this->m_strMessage+=msg;
		UpdateData(false);
		break;
	case MSG_STATUSBAR_MSG:
		strcpy(msg,(char*)lParm);
		this->GetParent()->SetWindowText(msg);
		break;
	case MSG_SEND_DATA:
		this->m_nLastSend += (DWORD)lParm;
		break;
	default:
		break;
	}	
}

void CClientDlg::OnTimer(UINT nIDEvent) 
{
	DWORD	nSpeed;
	char	msg[512];
	static char	s1[3];
	static char	s2[3];
	float	n1,n2;
	switch(nIDEvent)
	{
	case SEND_SPEED_TIMER:
		
		{
			nSpeed = this->m_nLastSend/(TIMER_LONG/1000);
			this->m_nTotalSend += this->m_nLastSend;
			if(m_nTotalSend/MB)
			{
				s1[0]='M';
				s1[1]='B';
				n1=(float)m_nTotalSend/MB;
			}
			else if(m_nTotalSend/KB)
			{
				s1[0]='K';
				s1[1]='B';
				n1=(float)m_nTotalSend/KB;
			}
			else
			{
				s1[0]='B';
				s1[1]=0;
				n1=(float)m_nTotalSend;
			}
			if(nSpeed/MB)
			{
				s2[0]='M';
				s2[1]='B';
				n2=(float)nSpeed/MB;
			}
			else if(nSpeed/KB)
			{
				s2[0]='K';
				s2[1]='B';
				n2=(float)nSpeed/KB;
			}
			else
			{
				s2[0]='B';
				s2[1]=0;
				n2=(float)nSpeed;
			}
			sprintf(msg,"發送:%0.3f%s 速度:%0.3f%sps",n1,s1,n2,s2);
			this->m_nLastSend = 0;
			g_StatusBar.SetText(msg,1,NULL);
		}
		break;
	default:
		CDialog::OnTimer(nIDEvent);
		break;
	}
}

CClientDlg::~CClientDlg()
{
}

void CClientDlg::OnDestroy() 
{

	UpdateData(TRUE);
	char sz[32];
	WritePrivateProfileString(FILESHARE,SERVERADDR,(LPCTSTR)this->m_strAddr,CONFIG_FILE);
	sprintf(sz,"%d",this->m_nPort);
	WritePrivateProfileString(FILESHARE,SERVERPORT,sz,CONFIG_FILE);
	WritePrivateProfileString(FILESHARE,FILENAME,(LPCTSTR)this->m_strFileName,CONFIG_FILE);

	CDialog::OnDestroy();	
	// TODO: Add your message handler code here	
}

void CClientDlg::OnBrowseFile() 
{
	UpdateData(true);

	OPENFILENAME	OpenFileName;
	char			szFileName[1024]={0};
	char			dir[256];
	char			file[256];
	int				nIndex;

	memset(&OpenFileName,0,sizeof(OpenFileName));
	OpenFileName.lStructSize		= sizeof(OPENFILENAME);
	OpenFileName.hwndOwner			= this->GetSafeHwnd();
	OpenFileName.hInstance			= AfxGetInstanceHandle();
	OpenFileName.lpstrFilter		= "所有文件(*.*)\0*.*\0\0";

	OpenFileName.lpstrFile         = szFileName;
	OpenFileName.nMaxFile          = sizeof (szFileName);
	OpenFileName.lpstrFileTitle    = "";
	OpenFileName.nMaxFileTitle     = 0;
	OpenFileName.lpstrInitialDir   = NULL;
	OpenFileName.lpstrTitle        = "選擇發送文件";
	OpenFileName.Flags			   = OFN_NOCHANGEDIR|
									 OFN_EXPLORER|
									 OFN_ALLOWMULTISELECT;
	//OpenFileName.Flags =0;
	OpenFileName.nFileOffset       = 0;
	OpenFileName.nFileExtension    = 1;
	OpenFileName.lpstrDefExt		=NULL;

	
	if(::GetOpenFileName(&OpenFileName))
	{
		this->m_strFileName="";
		nIndex=0;
		strcpy(dir,szFileName);
		if(dir[strlen(dir)-1]!='\\')
		{
			strcat(dir,"\\");
			nIndex=strlen(dir);
		}
		else
		{
			nIndex=strlen(dir)+1;
		}
		if(strlen(&szFileName[nIndex])>0)
		{
			while(strlen(&szFileName[nIndex])>0)
			{
				sprintf(file,"%s%s\r\n",dir,&szFileName[nIndex]);
				this->m_strFileName += file;
				nIndex += strlen(&szFileName[nIndex])+1;
			}
		}
		else
		{
			m_strFileName=szFileName;
		}
		UpdateData(false);
	}
	
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91精品国产手机| 91精品麻豆日日躁夜夜躁| 蜜臀91精品一区二区三区| 亚洲最新在线观看| 一区二区在线观看免费视频播放| 国产三级欧美三级日产三级99| 欧美va亚洲va在线观看蝴蝶网| 欧美日韩亚洲高清一区二区| 欧美体内she精高潮| 欧美喷水一区二区| 欧美一区二区三区播放老司机| 欧美一卡2卡3卡4卡| 精品国产伦理网| 国产欧美一区二区精品忘忧草 | 亚洲欧美在线视频| 中文字幕综合网| 亚洲综合一区二区三区| 亚洲精品国产高清久久伦理二区| 亚洲激情综合网| 日韩制服丝袜先锋影音| 美女视频免费一区| 成人久久视频在线观看| 99精品视频在线观看免费| 欧洲精品在线观看| 欧美一区二区三区免费视频 | 久久精品亚洲一区二区三区浴池| 欧美国产综合一区二区| 一区二区三区精品久久久| 免费观看在线色综合| 国产精品一区二区x88av| www.亚洲色图.com| 91麻豆精品国产91久久久使用方法 | 2019国产精品| 一区二区三区四区精品在线视频| 日本成人在线看| 不卡的av网站| 欧美成人免费网站| 亚洲宅男天堂在线观看无病毒| 日本不卡中文字幕| 色综合色综合色综合色综合色综合| 欧美日韩一级视频| 日韩伦理电影网| 日韩高清不卡一区二区三区| 国产成人在线视频网址| 欧美色欧美亚洲另类二区| 久久久精品综合| 日本中文一区二区三区| 91在线精品秘密一区二区| 精品久久久久久综合日本欧美| 亚洲欧美日韩中文字幕一区二区三区| 麻豆国产精品一区二区三区| 色婷婷狠狠综合| 中文字幕av一区二区三区| 免费在线看一区| 欧美日韩一卡二卡三卡| 亚洲欧美一区二区三区极速播放| 蜜桃在线一区二区三区| 欧美日韩综合一区| 中文字幕日本乱码精品影院| 韩国三级电影一区二区| 67194成人在线观看| 亚洲一区二区在线观看视频| 成人开心网精品视频| 精品美女一区二区| 石原莉奈在线亚洲二区| 91性感美女视频| 亚洲婷婷在线视频| 99久久久国产精品免费蜜臀| 国产精品情趣视频| 成人一区二区三区中文字幕| 久久免费精品国产久精品久久久久 | 最新国产成人在线观看| 粉嫩一区二区三区在线看| 欧美激情一区二区三区不卡 | 精品亚洲成a人| 日韩欧美亚洲国产另类| 蜜桃视频一区二区三区| 日韩午夜精品电影| 九色|91porny| 国产日韩欧美综合在线| 岛国一区二区在线观看| 国产欧美一区二区精品忘忧草 | 777亚洲妇女| 日日夜夜一区二区| 日韩视频在线永久播放| 久久国产人妖系列| 国产精品网曝门| 一本大道综合伊人精品热热| 亚洲bdsm女犯bdsm网站| 欧美精品亚洲一区二区在线播放| 日本在线不卡一区| 久久久久国色av免费看影院| 成人ar影院免费观看视频| 一区二区三区在线高清| 日韩精品一区二区三区视频| 粉嫩一区二区三区性色av| 洋洋av久久久久久久一区| 在线成人av网站| 福利视频网站一区二区三区| 亚洲欧美日韩国产另类专区| 欧美高清www午色夜在线视频| 成人在线视频一区| 91在线小视频| 91成人在线观看喷潮| 亚洲大片在线观看| 欧美va天堂va视频va在线| 成人免费高清在线| 亚洲电影在线播放| 亚洲精品一线二线三线无人区| 波多野结衣亚洲一区| 午夜影院久久久| 国产人久久人人人人爽| 色爱区综合激月婷婷| 精品一区二区三区免费| 亚洲视频在线观看一区| 日韩一区二区三区视频| 成a人片国产精品| 蜜臀久久99精品久久久画质超高清 | 免费久久99精品国产| 1区2区3区国产精品| 欧美日本乱大交xxxxx| 99精品国产91久久久久久| 免费人成精品欧美精品| 国产精品久久久久影院| 日韩欧美在线123| 欧美亚洲一区二区在线| 国产91精品露脸国语对白| 美女一区二区三区| 亚洲国产成人av网| 亚洲日本在线视频观看| 国产亚洲欧洲997久久综合| 欧美一区二区三区视频在线观看 | 国产欧美日本一区视频| 666欧美在线视频| 欧美日韩不卡一区| 日本乱人伦一区| 99精品热视频| 99视频超级精品| 夫妻av一区二区| 91亚洲男人天堂| 国产伦精品一区二区三区视频青涩 | 激情欧美一区二区| 男女男精品视频| 午夜激情久久久| 亚洲午夜精品在线| 亚洲国产精品影院| 亚洲黄一区二区三区| 亚洲另类一区二区| 亚洲三级久久久| 一区二区三区中文字幕电影| 亚洲精品国产无天堂网2021| 亚洲欧美成人一区二区三区| 中文字幕一区二区在线播放 | 色爱区综合激月婷婷| 91在线观看美女| 色婷婷精品大在线视频| 色综合亚洲欧洲| 欧美色综合久久| 91精品婷婷国产综合久久| 欧美一区二区精美| 精品国产乱码久久久久久蜜臀| 欧美va亚洲va在线观看蝴蝶网| 久久久精品影视| 中文字幕在线观看一区| 亚洲免费av在线| 亚洲综合无码一区二区| 日本成人在线看| 国产高清精品在线| 91在线码无精品| 欧美日韩国产中文| 久久人人爽爽爽人久久久| 欧美高清在线精品一区| 亚洲欧美一区二区三区久本道91| 亚洲成人av福利| 国产一区不卡精品| 色狠狠色噜噜噜综合网| 3751色影院一区二区三区| 久久综合狠狠综合久久综合88 | 欧美在线播放高清精品| 欧美久久一二区| 精品国产乱码久久久久久浪潮| 国产精品色哟哟| 亚洲www啪成人一区二区麻豆| 另类欧美日韩国产在线| 成人av电影在线播放| 91精品国产综合久久婷婷香蕉 | 精东粉嫩av免费一区二区三区| 高清国产一区二区| 欧美日韩国产不卡| 国产精品少妇自拍| 天使萌一区二区三区免费观看| 国产精品一区一区| 91超碰这里只有精品国产| 欧美国产日韩在线观看| 免费观看久久久4p| 在线视频一区二区三区| 久久久久成人黄色影片| 丝袜亚洲另类欧美综合| 色婷婷综合久久久久中文 | 国产欧美一区二区三区鸳鸯浴|