用c#的tcpclient给我写一个服务端和客户端的通讯
时间: 2024-04-14 21:26:05 浏览: 153
C#实现TCP客户端服务端之间的通讯
4星 · 用户满意度95%
当然可以!下面是一个简单的示例代码,展示了如何使用C#的TcpClient类实现服务端和客户端之间的通信。
服务端代码:
```csharp
using System;
using System.Net;
using System.Net.Sockets;
using System.Text;
class Server
{
static void Main()
{
TcpListener server = null;
try
{
// 设置服务端IP地址和端口号
IPAddress ipAddress = IPAddress.Parse("127.0.0.1");
int port = 8888;
// 创建TcpListener对象
server = new TcpListener(ipAddress, port);
// 开始监听客户端连接请求
server.Start();
Console.WriteLine("服务端已启动,等待客户端连接...");
// 接受客户端连接请求
TcpClient client = server.AcceptTcpClient();
Console.WriteLine("客户端已连接!");
// 获取网络流
NetworkStream stream = client.GetStream();
// 接收客户端消息
byte[] buffer = new byte[1024];
int bytesRead = stream.Read(buffer, 0, buffer.Length);
string message = Encoding.ASCII.GetString(buffer, 0, bytesRead);
Console.WriteLine("收到客户端消息: {0}", message);
// 向客户端发送响应
byte[] response = Encoding.ASCII.GetBytes("服务端已收到消息!");
stream.Write(response, 0, response.Length);
Console.WriteLine("已向客户端发送响应!");
// 关闭连接
client.Close();
}
catch (Exception e)
{
Console.WriteLine("发生异常: {0}", e);
}
finally
{
// 停止监听
server.Stop();
}
Console.WriteLine("按任意键退出...");
Console.ReadKey();
}
}
```
客户端代码:
```csharp
using System;
using System.Net;
using System.Net.Sockets;
using System.Text;
class Client
{
static void Main()
{
try
{
// 设置服务端IP地址和端口号
IPAddress ipAddress = IPAddress.Parse("127.0.0.1");
int port = 8888;
// 创建TcpClient对象并连接到服务端
TcpClient client = new TcpClient();
client.Connect(ipAddress, port);
Console.WriteLine("已连接到服务端!");
// 获取网络流
NetworkStream stream = client.GetStream();
// 向服务端发送消息
string message = "Hello, Server!";
byte[] data = Encoding.ASCII.GetBytes(message);
stream.Write(data, 0, data.Length);
Console.WriteLine("已向服务端发送消息: {0}", message);
// 接收服务端响应
data = new byte[1024];
int bytesRead = stream.Read(data, 0, data.Length);
string response = Encoding.ASCII.GetString(data, 0, bytesRead);
Console.WriteLine("收到服务端响应: {0}", response);
// 关闭连接
client.Close();
}
catch (Exception e)
{
Console.WriteLine("发生异常: {0}", e);
}
Console.WriteLine("按任意键退出...");
Console.ReadKey();
}
}
```
使用以上代码,你可以在本地运行一个简单的服务端和客户端,实现它们之间的通信。记得将IP地址和端口号设置为你的实际需求。
阅读全文