在线等,FTP组件下载大文件时download函数死掉的问题
lyrn 2005-05-17 03:26:14 使用网上下载的C#写的FTP组件,下载小文件时没有问题,但当文件大小超过1G时,就会有问题
sendCommand("RETR " + remFileName);
if(!(retValue == 150 || retValue == 125))
{
throw new IOException(reply.Substring(4));
}
while(true)
{
bytes = cSocket.Receive(buffer, buffer.Length, 0);
output.Write(buffer,0,bytes);
if(bytes <= 0)
{
break;
}
}
output.Close();
if (cSocket.Connected)
{
cSocket.Close();
}
Console.WriteLine("");
************************** readReply();
if( !(retValue == 226 || retValue == 250) )
{
throw new IOException(reply.Substring(4));
}
就停止在readReply的地方,程序不退出
***************************** bytes = clientSocket.Receive(buffer, buffer.Length, 0);
mes += ASCII.GetString(buffer, 0, bytes);
if(bytes < buffer.Length)
{
break;
}
在readReply函数里面最后停止在Receive函数上
正常情况下应该读到226 transfer complete
服务端使用IIS和Server-U都是这样。
只用单进程,没有使用多线程
请教大虾,到底是怎么回事?