文件传送如何使用TCP
时间: 2024-12-27 17:16:57 浏览: 0
### 使用TCP协议实现文件传输
#### TCP 文件传输概述
TCP (Transmission Control Protocol) 是一种面向连接的、可靠的字节流服务。使用TCP进行文件传输可以确保数据包按顺序到达,并且不会丢失或损坏。对于C#应用程序来说,可以通过`System.Net.Sockets`命名空间中的类来创建客户端和服务端应用。
#### 创建Server端代码
服务器端负责监听来自客户端的连接请求并接受要传输的数据。下面是一个简单的基于WPF的应用程序片段用于设置服务器以等待文件上传[^1]:
```csharp
using System;
using System.IO;
using System.Net;
using System.Net.Sockets;
using System.Windows;
namespace FileTransferApp.Server {
public partial class MainWindow : Window {
private TcpListener listener;
public MainWindow() {
InitializeComponent();
StartListening();
}
private void StartListening() {
try {
int port = 8080; // 设置侦听端口
listener = new TcpListener(IPAddress.Any, port);
listener.Start();
MessageBox.Show("正在监听 " + ((IPEndPoint)listener.LocalEndpoint).ToString());
while (true) { // 循环处理多个客户端连接
using var client = await listener.AcceptTcpClientAsync(); // 接受新的客户端连接
HandleClient(client); // 处理该客户端发来的消息
}
} catch (Exception ex) {
Console.WriteLine(ex.ToString());
} finally {
if (listener != null)
listener.Stop();
}
}
async Task HandleClient(TcpClient client) {
NetworkStream stream = client.GetStream();
byte[] buffer = new byte[4096];
string fileName = @"";
📐⚗
阅读全文