C#TCP服务器与客户机
时间: 2023-10-16 09:11:00 浏览: 40
C#中可以使用Socket类来实现TCP服务器和客户端的通信。下面是一个简单的示例:
服务器:
```csharp
using System;
using System.Net;
using System.Net.Sockets;
class Server {
static void Main(string[] args) {
IPAddress ipAddress = IPAddress.Parse("127.0.0.1");
int port = 8888;
TcpListener server = new TcpListener(ipAddress, port);
server.Start();
Console.WriteLine("Server started on {0}:{1}", ipAddress, port);
while (true) {
TcpClient client = server.AcceptTcpClient();
Console.WriteLine("Client connected!");
NetworkStream stream = client.GetStream();
byte[] buffer = new byte[1024];
int bytesRead = stream.Read(buffer, 0, buffer.Length);
string message = System.Text.Encoding.ASCII.GetString(buffer, 0, bytesRead);
Console.WriteLine("Received message: {0}", message);
stream.Close();
client.Close();
Console.WriteLine("Client disconnected!");
}
server.Stop();
}
}
```
客户端:
```csharp
using System;
using System.Net;
using System.Net.Sockets;
class Client {
static void Main(string[] args) {
IPAddress ipAddress = IPAddress.Parse("127.0.0.1");
int port = 8888;
TcpClient client = new TcpClient();
client.Connect(ipAddress, port);
Console.WriteLine("Connected to server!");
NetworkStream stream = client.GetStream();
string message = "Hello, server!";
byte[] buffer = System.Text.Encoding.ASCII.GetBytes(message);
stream.Write(buffer, 0, buffer.Length);
stream.Close();
client.Close();
Console.WriteLine("Disconnected from server!");
}
}
```
在这个示例中,服务器监听IP地址为127.0.0.1(本机)的8888端口。当有客户端连接时,服务器会接受客户端的连接,读取客户端发送的消息并输出到控制台,然后关闭连接。客户端连接到服务器后,发送一条消息并关闭连接。