在C#中实现TCP/IP文件传输可以通过以下步骤:
以下是一个简单的示例代码来实现TCP/IP文件传输:
服务器端代码:
using System;
using System.IO;
using System.Net;
using System.Net.Sockets;
class TCPServer
{
static void Main()
{
TcpListener listener = new TcpListener(IPAddress.Any, 12345);
listener.Start();
TcpClient client = listener.AcceptTcpClient();
NetworkStream stream = client.GetStream();
byte[] buffer = new byte[1024];
int bytesRead;
using (FileStream fileStream = File.Create("received_file.txt"))
{
while ((bytesRead = stream.Read(buffer, 0, buffer.Length)) > 0)
{
fileStream.Write(buffer, 0, bytesRead);
}
}
client.Close();
listener.Stop();
}
}
客户端代码:
using System;
using System.IO;
using System.Net;
using System.Net.Sockets;
class TCPClient
{
static void Main()
{
TcpClient client = new TcpClient();
client.Connect(IPAddress.Parse("127.0.0.1"), 12345);
NetworkStream stream = client.GetStream();
using (FileStream fileStream = File.OpenRead("file_to_send.txt"))
{
byte[] buffer = new byte[1024];
int bytesRead;
while ((bytesRead = fileStream.Read(buffer, 0, buffer.Length)) > 0)
{
stream.Write(buffer, 0, bytesRead);
}
}
client.Close();
}
}
在这个例子中,服务器端监听端口号为12345,并在本地创建一个名为"received_file.txt"的文件来接收客户端发送的文件数据。客户端连接到服务器端的IP地址"127.0.0.1"和端口号12345,并发送名为"file_to_send.txt"的文件数据给服务器端。
请注意,这只是一个简单的示例代码,实际应用中可能需要添加错误处理、文件大小校验等功能。