C# FTP服务器的问题
下面是用C#编写的FTP服务器中的上传文件的函数代码。编译无错误提示。用windows自带的命令行下的ftp客户端连上后,上传往往出现问题,提示
150 开始传输数据
Connection closed by remote host.
检查发现,文件在服务器端已经被创建,不过是0字节,打开时提示“文件正在被使用”。有时竟然能上传成功,但过一会也不行了,不知道怎么回事。网上有不少人问到这个问题,但答案都行不通
高手或遇到过此问题并成功解决的老兄,帮忙看看了,谢谢!
------------------------------------------------------------------------------------------------------------------------
//获取发送来的文件
private void receiveFile(string filename)
{
client.sendMsg("150 开始传输数据");
string name = getFileName(filename);
FileInfo fi = new FileInfo(name);
Socket tempSocket=client.getTempSocket();
if (tempSocket.Connected)
{
byte[] buf = new byte[1];
if (!fi.Exists)
{
File.Create(name);
}
FileStream fs = File.OpenWrite(name);
while(tempSocket.Receive(buf)>0)
{
fs.Write(buf, 0 ,buf.Length);
}
fs.Close();
client.sendMsg("226 文件接收完毕");
}
else
{
client.sendMsg("550 不能上传文件");
}
}
评论读取中....