C#创建服务器和客户端代码
时间: 2024-01-31 15:02:48 浏览: 120
SocketClient1_Socket客户端实现代码_
以下是使用C#创建基于TCP协议的服务器和客户端的示例代码:
服务器端代码:
```csharp
using System;
using System.Net;
using System.Net.Sockets;
using System.Text;
class Server {
static void Main(string[] args) {
TcpListener listener = new TcpListener(IPAddress.Any, 8888); // 创建TCP侦听器,监听本地8888端口
listener.Start(); // 启动侦听器
Console.WriteLine("等待客户端连接...");
while (true) {
TcpClient client = listener.AcceptTcpClient(); // 接受客户端连接请求
Console.WriteLine("客户端连接成功");
NetworkStream stream = client.GetStream(); // 获取网络流
byte[] buffer = new byte[1024];
int length = stream.Read(buffer, 0, buffer.Length); // 读取客户端发送的数据
string message = Encoding.ASCII.GetString(buffer, 0, length); // 将字节数组转换为字符串
Console.WriteLine("接收到消息:" + message);
byte[] data = Encoding.ASCII.GetBytes("服务端收到消息:" + message); // 将字符串转换为字节数组
stream.Write(data, 0, data.Length); // 向客户端发送数据
client.Close(); // 关闭客户端连接
}
}
}
```
客户端代码:
```csharp
using System;
using System.Net.Sockets;
using System.Text;
class Client {
static void Main(string[] args) {
TcpClient client = new TcpClient("127.0.0.1", 8888); // 创建TCP客户端,连接本地8888端口
NetworkStream stream = client.GetStream(); // 获取网络流
string message = "Hello, server!"; // 要发送的消息
byte[] data = Encoding.ASCII.GetBytes(message); // 将字符串转换为字节数组
stream.Write(data, 0, data.Length); // 向服务端发送数据
byte[] buffer = new byte[1024];
int length = stream.Read(buffer, 0, buffer.Length); // 读取服务端发送的数据
string response = Encoding.ASCII.GetString(buffer, 0, length); // 将字节数组转换为字符串
Console.WriteLine("接收到响应:" + response);
client.Close(); // 关闭客户端连接
}
}
```
这里只是一个简单的示例,实际应用中还需要进行错误处理、多客户端连接处理等。
阅读全文