C# 异步将文件流写入网络流
在C#中,可以使用'CopyToAsync'方法将'FileStream'写入'NetworkStream'。以下是一个示例代码:
using System;
using System.IO;
using System.Net.Sockets;
using System.Threading.Tasks;
class Program
{
static async Task Main(string[] args)
{
string filePath = 'path_to_file';
string serverIpAddress = 'server_ip_address';
int serverPort = 1234;
using (FileStream fileStream = new FileStream(filePath, FileMode.Open))
using (TcpClient client = new TcpClient(serverIpAddress, serverPort))
using (NetworkStream networkStream = client.GetStream())
{
await fileStream.CopyToAsync(networkStream);
}
Console.WriteLine('File transfer completed.');
}
}
在上面的示例中,首先创建一个'FileStream'对象来读取文件。然后,使用'TcpClient'连接到服务器的IP地址和端口号。接下来,通过调用'client.GetStream()'方法获取与服务器的网络流连接。
最后,使用'CopyToAsync'方法将'FileStream'的内容异步地复制到'NetworkStream'中。此方法会自动处理异步读取和写入操作,确保数据正确传输。
请记得将'path_to_file'替换为要发送的文件的路径,'server_ip_address'替换为服务器的IP地址,'serverPort'替换为服务器的端口号。
希望以上信息对您有所帮助,如有其他疑问,请随时提问。
原文地址: https://www.cveoy.top/t/topic/pfXI 著作权归作者所有。请勿转载和采集!