C#通过TCP通讯发送和读取服务器数据
时间: 2024-02-28 13:57:06 浏览: 24
可以使用C#中的Socket类来实现TCP通信。以下是一个基本的示例:
```csharp
using System;
using System.Net;
using System.Net.Sockets;
using System.Text;
public class TCPClient {
private static Socket clientSocket;
public static void Main() {
// 连接到服务器
Connect("127.0.0.1", 8888);
// 发送数据
Send("Hello, server!");
// 接收数据
string message = Receive();
Console.WriteLine("Received message from server: " + message);
// 关闭连接
Close();
}
private static void Connect(string ip, int port) {
clientSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
clientSocket.Connect(new IPEndPoint(IPAddress.Parse(ip), port));
Console.WriteLine("Connected to server.");
}
private static void Send(string message) {
byte[] data = Encoding.UTF8.GetBytes(message);
clientSocket.Send(data);
Console.WriteLine("Sent message to server: " + message);
}
private static string Receive() {
byte[] data = new byte[1024];
int length = clientSocket.Receive(data);
string message = Encoding.UTF8.GetString(data, 0, length);
return message;
}
private static void Close() {
clientSocket.Shutdown(SocketShutdown.Both);
clientSocket.Close();
Console.WriteLine("Connection closed.");
}
}
```
在这个示例中,首先通过 `Connect()` 方法连接到服务器,然后通过 `Send()` 方法发送数据,再通过 `Receive()` 方法接收服务器返回的数据。最后,通过 `Close()` 方法关闭连接。