资源简介
实现一个FTP协议的客户端和服务器,完成基本的文件传输功能。
功能:
(1) 多客户端访问。
(2) 在获取文件之前能够先得到文件列表。
(3)实现FTP文件的上传与下载.
(4) GUI(界面实现)。

代码片段和文件信息
#include “stdafx.h“
#include “Client.h“
#include “MainFrm.h“
#include “ClientDoc.h“
#include “ClientView.h“
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
//********************************************************************
// CClientApp
BEGIN_MESSAGE_MAP(CClientApp CWinApp)
//{{AFX_MSG_MAP(CClientApp)
ON_COMMAND(ID_APP_ABOUT OnAppAbout)
//}}AFX_MSG_MAP
ON_COMMAND(ID_FILE_NEW CWinApp::OnFileNew)
ON_COMMAND(ID_FILE_OPEN CWinApp::OnFileOpen)
ON_COMMAND(ID_FILE_PRINT_SETUP CWinApp::OnFilePrintSetup)
END_MESSAGE_MAP()
//********************************************************************
// CClientApp construction
CClientApp::CClientApp(){ }
//********************************************************************
CClientApp theApp;
//完成进线
DWORD WINAPI notify(LPVOID lpparam)
{
CMainframe* pthis=(CMainframe*)lpparam;
return pthis->Finish();
}
DWORD WINAPI timethread(LPVOID lpparam)
{
//记录进程
CDownLoad * pthis=(CDownLoad *)lpparam;
return pthis->Finish();
}
int Rev(SOCKET sockchar *dataint len)
{
//取数据
int iLenGettedret;
iLenGetted=len;
while(iLenGetted>0)
{
ret=recv(sockdataiLenGetted0);
if(ret<0)
{
CString str;
str=“接收错误\n“;
AfxGetMainWnd()->SendMessageToDescendants(WM_MESSAGE (WPARAM)str.GetBuffer(0)(LPARAM)RGB(25500)1);
str.ReleaseBuffer();
return -2;
}
if(ret==0)
return len-iLenGetted;
data+=ret;
iLenGetted-=ret;
}
return len;
}
int Send(SOCKET sockchar *dataint len)
{
//发送信息
int iLenSendedret;
iLenSended=len;
while(iLenSended>0)
{
ret=send(sockdataiLenSended0);
if(ret<0)
{
CString str;
str=“发送错误\n“;
AfxGetMainWnd()->SendMessageToDescendants(WM_MESSAGE (WPARAM)str.GetBuffer(0)(LPARAM)RGB(25500)1);
str.ReleaseBuffer();
return -2;
}
if(ret==0)
return len-iLenSended;
data+=ret;
iLenSended-=ret;
}
return len;
}
CString g_IP;
//下载进程
DWORD WINAPI DownLoadThread(LPVOID lpparam)
{
CDownLoad * pthis=(CDownLoad*)lpparam;
InterlockedIncrement(&pthis->m_index);
pthis->DownThread(pthis->m_index-1);
return 1;
}
int fileflags[10];
FILEINFO files[10];
BOOL CClientApp::InitInstance()
{
if (!AfxSocketInit())
{
AfxMessageBox(IDP_SOCKETS_INIT_FAILED);
return FALSE;
}
//初始化OLE库
if (!AfxOleInit())
{
AfxMessageBox(IDP_OLE_INIT_FAILED);
return FALSE;
}
AfxEnableControlContainer();
#ifdef _AFXDLL
Enable3dControls();
#else
Enable3dControlsStatic();
#endif
SetRegistryKey(_T(“Local AppWizard-Generated Applications“));
LoadStdProfileSettings();
CSingleDocTemplate* pDocTemplate;
pDocTemplate = new CSingleDocTemplate(
IDR_MAINframe
RUNTIME_CLASS(CClientDoc)
RUNTIME_CLASS(CMainframe)
RUNTIME_CLASS(CClientView));
pDocTemplate->S
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2011-01-01 10:27 bin\
文件 49152 2010-12-14 14:35 bin\client1.exe
文件 151645 2010-12-14 16:05 bin\FileServer.exe
目录 0 2011-01-01 10:27 src\
目录 0 2011-01-01 10:27 src\Client\
文件 35476 2010-12-14 14:34 src\Client\Client.aps
文件 4528 2010-12-14 14:04 src\Client\Client.cpp
文件 888 2010-12-14 14:35 src\Client\Client.h
文件 15427 2010-12-14 14:17 src\Client\Client.rc
文件 3782 2002-12-19 13:10 src\Client\client1.clw
文件 1380 2002-08-18 19:02 src\Client\client1.dep
文件 5443 2010-12-14 14:35 src\Client\client1.dsp
文件 537 2002-07-17 10:42 src\Client\client1.dsw
文件 10680 2002-08-18 19:02 src\Client\client1.mak
文件 115712 2010-12-14 14:35 src\Client\client1.ncb
文件 141824 2010-12-14 14:35 src\Client\client1.opt
文件 1839 2010-12-14 14:35 src\Client\client1.plg
文件 879 2010-12-14 10:21 src\Client\client1.sln
文件 22528 2010-12-14 13:17 src\Client\client1.suo
文件 10481 2010-12-08 10:26 src\Client\client1.vcproj
文件 1427 2010-12-14 13:17 src\Client\client1.vcproj.PC-201001301056.Administrator.user
文件 1694 2010-12-14 13:51 src\Client\ClientDoc.cpp
文件 752 2010-12-14 13:56 src\Client\ClientDoc.h
文件 4337 2010-12-14 13:52 src\Client\ClientView.cpp
文件 1287 2010-12-14 14:35 src\Client\ClientView.h
文件 927 2010-12-14 13:53 src\Client\CntrItem.cpp
文件 848 2010-12-14 13:57 src\Client\CntrItem.h
文件 8124 2010-12-14 13:53 src\Client\DownLoad.cpp
文件 1174 2010-12-14 13:58 src\Client\DownLoad.h
文件 3608 2010-12-14 13:46 src\Client\FileList.cpp
文件 1024 2010-12-14 13:58 src\Client\FileList.h
............此处省略111个文件信息
相关资源
- VisualStudioUninstaller vs卸载工具
- 组态王驱动开发包3.0.0.7(中文)
- 多窗口后台鼠标连点器
- 使用选择性重传协议实现UDP可靠通信
- VC 获得文件属性 获取文件的创建时
- 读者写者问题(读者优先,写者优先
- 用VC 编写的仿QQ聊天室程序源代码
- 外点法程序
- 外罚函数程序
- qt-电子点菜系统
- 推箱子及人工智能寻路C 源代码
- 自己写的航空订票系统c 版--数据结构
- 数据结构实验魔王语言
- MUSIC算法c 实现
- C 餐厅叫号系统(QT平)
- 国际象棋c 完整版
-
ob
jectARX给Auto CAD加工具条 - 画图程序MFC/VC/VC CRectTracker 串行化
- MFC网络编程实例
- c 课程设计 职工信息管理系统
- VC 游戏编程—附源代码
- IpHlpApi.h&IpHlpApi.lib
- 清华大学 c 郑莉 ppt课件
- c 程序判断离散数学中命题公式
- 多项式求和(数据结构C 版)
- vc 6.0开发的流程图编辑器
- VC 天空盒(skyBox)实现(附源代码)
- c MFC 画多边形
- 用C 实现的对网络上的ARP数据包进行
- Microsoft基本类库 (MFC)(C 库)
评论
共有 条评论