武汉大学计算机学院
课程实验(设计)报告
课程名称:计算机网络应用设计
专业、班:
姓 名:
学 号:
学 期:2010年上学期
PAGE
PAGE #
PAGE
PAGE #
第二部分软件设计
一、实验内容
完成FTP客户端、POP3客户端两个系统程序,以及一个应用程序。
客户端操作系统为 Windows XP。
FTP程序要求具有图形化界面、上传、下载功能,鼓励实现断点续传功能,POP3程序具有邮
件接收、阅读、删除等基本功能。FTP、POP3程序使用socket方式编程,从创建 socket、建立TCP
连接开始,实现 FTP、SMTP、POP3协议的功能,不得调用第三方控件(可使用操作系统自身的 API函数)。编程工具可以使用 C#或VC++。
应用程序要求实现一个网上书店的基本功能,要求具有前端(用户)和后端(管理)功能,基 于Web运行方式。前端具有浏览书目、购物车等功能,后端具有管理书目、基本统计功能。编程工 具可以是 MS .NET(C#)或者 J2EE 二选一,数据库可以是 SQL Server、DB2、Oracle、Mysql、PostgreSQL 之一。
、实验步骤与实验结果
1. FTP源程序
说明:本程序使用 VC++编写,开发环境为 VS2008
/******************************************************************************
//连接FTP服务器
******************************************************************************/
void Cmfcftp3Dlg::O nBn ClickedButto n1()
{
m_pI netSessi on=new
Cln ternetSessio n( AfxGetAppName(),1,PRE CONFIG INTERNET ACCESS);
UpdateData(TRUE);
try
{
//根据给出的参数连接到FTP服务器
m pFtpC onn ecti on=m pln etSessi on->GetFtpC onn ecti on( m host,m user name,m password, m_port);
if (m pFtpCo nn ection != NULL)
CStri ng m_i;m」="连接成功\r\n"; m_ftpi nfo +=m_i; UpdateData(FALSE); List();
}
catch (Clntern etExcepti on * pEx)
{
CStri ng m」;
m」="连接no成功\r\n";
m_ftpi nfo +=m」;
UpdateData(FALSE);
TCHAR szError[1024];
if ( pEx->GetErrorMessage(szError,1024)) {
m」=(CStri ng) szError; m_ftpi nfo +=m_i; UpdateData(FALSE);
} else
AfxMessageBox("There was an excepti on"); pEx->Delete();
m_pFtpC onnection=N ULL;
}
}
/*********************************************************************
/**
〃列出FTP服务器上的所有文件
**/************************************************************************** void Cmfcftp3Dlg::List()
**/
CStri ng m」;
CStri ng m」i;
CStri ngArray m_Dir;
CFtpFileF indfin der(m_pFtpC onnection);
BOOL bWorki ng=fi nder.Fi ndFile(_T("*"));
while (bWorki ng)
{
bWorki ng = fin der.Fi ndNextFile();
if ( finder.lsDots())
con ti nue;
if (finder.IsDirectory()) // 如果是目录。
for (int j=O;j< n;j++)
{
m」i="\t";
m ftp info=m ftp in fo+m ii; }
m_ftpi nfo +=m_i;
UpdateData(FALSE);
}
}