我想创建一个 TcpClient,它可以根据名称自动从服务器获取多个文件。
我想了解如何构建此类应用程序。
我的想法是:
制作一个包含 SwitchCase 的 for 循环,我在其中指定我的文件名。我真的不知道这是否会奏效。
要跳出 for 循环,我可以将索引运算符与文件数进行比较。如果它们相等,那么我就退出 for 循环。
我的想法示例:
for (int i = 1; i <= 4; i++)
{
switch (----)
{
case 'file1':
code...
break;
case 'file2':
code...
case 'file3':
code...
break;
case 'file4':
code...
break;
default:
code...
break;
}
}
最佳答案
要使用 ftp 下载文件,您可以使用 FtpWebRequest对于 http 使用 HttpWebRequest . 下面是一个简单的示例,说明如何使用 http 请求文件(方法与 ftp 类似):
public void Download(string url, string localPath)
{
HttpWebRequest request = HttpWebRequest.Create(url);
HttpWebResponse response = request.GetResponse() as HttpWebResponse;
Stream stream = response.GetResponseStream();
FileStream fs = new FileStream(localPath, FileMode.Create);
int count;
byte[] buffer = new byte[8096];
while ((count = stream.Read(buffer, 0, 8096)) > 0)
fs.Write(buffer, 0, count);
fs.Dispose();
response.Close();
}
与其在 for 循环中使用 switch,不如迭代一个数组:
string[] files = new string[]{ url1, url2, ...};
for(int i = 0; i < files.Length; i++)
{
Download(files[i], "file" + i);
}
关于c# - 使用 TCP 客户端接收多个文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19444308/