C#TCP传输文件
时间: 2023-07-12 19:11:37 浏览: 97
要使用C#传输文件,您可以使用TCP协议。以下是基本的C#代码示例,用于将文件从客户端发送到服务器。
客户端代码:
```csharp
using System;
using System.IO;
using System.Net.Sockets;
class Program
{
static void Main(string[] args)
{
// 创建TCP客户端
TcpClient client = new TcpClient("127.0.0.1", 9999);
// 打开文件
FileStream fileStream = File.OpenRead(@"C:\test.txt");
// 创建网络流
NetworkStream networkStream = client.GetStream();
// 读取文件并发送给服务器
byte[] buffer = new byte[1024];
int bytesRead;
while ((bytesRead = fileStream.Read(buffer, 0, buffer.Length)) > 0)
{
networkStream.Write(buffer, 0, bytesRead);
}
// 关闭网络流和文件流
networkStream.Close();
fileStream.Close();
// 关闭TCP客户端
client.Close();
}
}
```
服务器端代码:
```csharp
using System;
using System.IO;
using System.Net;
using System.Net.Sockets;
class Program
{
static void Main(string[] args)
{
// 创建TCP服务器
TcpListener listener = new TcpListener(IPAddress.Any, 9999);
listener.Start();
// 等待客户端连接
TcpClient client = listener.AcceptTcpClient();
// 创建网络流
NetworkStream networkStream = client.GetStream();
// 创建文件流
FileStream fileStream = File.Create(@"C:\test_server.txt");
// 接收客户端发送的文件并写入本地文件
byte[] buffer = new byte[1024];
int bytesRead;
while ((bytesRead = networkStream.Read(buffer, 0, buffer.Length)) > 0)
{
fileStream.Write(buffer, 0, bytesRead);
}
// 关闭网络流和文件流
networkStream.Close();
fileStream.Close();
// 关闭TCP服务器
listener.Stop();
}
}
```
请注意,此示例只用于演示如何传输文件。在实际应用程序中,您可能需要添加更多的错误处理和安全检查。