网络编程-实验报告
FtpWebRequest request = CreateFTPWebRequest(uri, = ;
int buflength = 8196;
byte[] buffer = new byte[buflength];
FileStream filestream = ();
Stream responseStream = ();
private void lstboxFTPResource_MouseDoubleClick(object sender, MouseEventArgs e)
{
// 点击返回上层目录
if == 0)
{
if (_currentDir == "/")
{
("当前目录已经是顶层目录", "", , ;
return;
实验环境
Visual Studio开发环境
实验步骤
1. 设计程序界面。
2. 实现程序功能。
实验内容
实现简单的Web浏览器,要求使用.NET请求/响应模型的FtpWebRequest类和FtpWebResponse类。
实验数据
服务器核心代码
oString();
= "21";
= false;
}
.");
= "停止";
{
if (length <
{
index = length;
}
else
{
continue;
}
}
string name = (index + 1);
if (name == "." || name == "..")
{
continue;
}
ontains("<dir>"))
{
string[] namefield = (' ');
break;
}
break;
}
}
}
}
;
= param;
;
}
RepleyCommandToUser(user, sendString);
}
;
}
}
else
{
sendString = "530 User name or password incorrect.";
}
}
else
{
sendString = "501 PASS command Syntax error.";
|(*.*)";
if () !=
{
return;
}
string filePath = ;
try
{
string uri = GetUriString(fileName);
FtpWebRequest request = CreateFTPWebRequest(uri, FtpWebResponse response = GetFTPWebResponse(request);
}
int index = ("/");
if (index == 0)
{
_currentDir = "/";
}
else
{
_currentDir = (0, index);
}
// 每次更改目录后立即刷新资源列表
ShowFtpFileAndDirectory();
}
else
{
if > 0 && "[目录]"))
{
..");
string s = ();
();
();
();
"传输完成");
ndsWith("."))
{
length = ftpdir[i].Length - 2;
break;
}
}
for (int i = 0; i < ; i++)
{
s = ftpdir[i];
int index = ('\t');
if (index == -1)
{
();
}
}
}
}= false;
= false;
= false;
= false;
= false;
}
#region 键盘按下事件
private void txtUserName_KeyPress(object sender, KeyPressEventArgs e)
}
RepleyCommandToUser(user, sendString);
ateTimeFormat;
.");
(path);
AddInfo("删除成功");
sendString = "250 File " + filename + " has been deleted.";
RepleyCommandToUser(user, sendString);
if (response == null)
{
"服务器未响应...");
= - 1;
return;
}
Stream responseStream = ();
FileStream filestream = (filePath);
int buflength = 8196;
byte[] buffer = new byte[buflength];
}
#endregion
#region 模式设置命令
ddressList[1];
eplace('.', ',');
符串来组合这四个参数得到IP地址
+ temp[1] + "." + temp[2] + "." + temp[3];
;
.");
try
{
if
{
byte[] bytes = new byte[1024];
}
();
();
FtpWebResponse response = GetFTPWebResponse(request);
if (response == null)
{
"服务器未响应...");
= - 1;
return;
}
"上传完毕,服务器返回:" + + " " + ;
= - 1;
("上传成功!");
贵州大学实验报告
学院:计算机学院 专业:软件工程 班级:软件123班
姓名
***
学号
***
实验组
实验时间
2015-5-9
指导教师
蔡丽
成绩
实验项目名称
FTP上传下载器编程
实验目的
通过本实验掌握C#中FTP上传下载器编程的方法,了解其区别与适用场合。
实验要求
了解C#的UDP编程方法。
实验原理
使用.NET请求/响应模型的FtpWebRequest类和FtpWebResponse类实现简单的Web浏览器
int bytesRead = 1;
"打开下载通道,文件下载中...");
while (bytesRead != 0)
{
bytesRead = (buffer, 0, buflength);
(buffer, 0, bytesRead);
}
();
();
"下载完毕,服务器返回:" + + " " + ;
{
if (_currentDir == "/")
{
_currentDir = "/" + }
else
{
_currentDir = _currentDir + "/" + }
string[] _currentDirfield = (' ');
_currentDir = _currentDirfield[0];
"打开上传流,文件上传中...");
int contenlength = (buffer, 0, buflength);
while (contenlength != 0)
{
(buffer, 0, contenlength);
contenlength = (buffer, 0, buflength);
}
else
{
();
myTcpListener = null;
();
"Ftp服务已停止!");
= - 1;
= "启动";
}
}
.[点击”停止“按钮停止FTP服务]");
while (true)
{
try
{
oUpper();
param = .Trim();
}
;
RepleyCommandToUser(user, sendString);
// 每次更改目录后立即刷新资源列表
ShowFtpFileAndDirectory();
}
}
}