用c#写一个服务端和客户端的小程序
时间: 2024-02-17 20:04:45 浏览: 155
用C#写的小程序
以下是一个使用C#编写的简单的服务端和客户端程序,用于客户端向服务端发送消息,服务端接收消息并回复消息。
服务端代码:
```csharp
using System;
using System.Net;
using System.Net.Sockets;
using System.Text;
class Program
{
static void Main(string[] args)
{
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 byteCount;
while ((byteCount = stream.Read(buffer, 0, buffer.Length)) != 0)
{
string message = Encoding.UTF8.GetString(buffer, 0, byteCount);
Console.WriteLine("收到消息:" + message);
// 回复消息
byte[] reply = Encoding.UTF8.GetBytes("已收到消息:" + message);
stream.Write(reply, 0, reply.Length);
}
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
finally
{
// 关闭TcpListener对象
if (server != null)
{
server.Stop();
}
}
Console.ReadKey();
}
}
```
客户端代码:
```csharp
using System;
using System.Net;
using System.Net.Sockets;
using System.Text;
class Program
{
static void Main(string[] args)
{
TcpClient client = null;
try
{
// 设置IP地址和端口号
IPAddress ipAddress = IPAddress.Parse("127.0.0.1");
int port = 8888;
// 创建TcpClient对象
client = new TcpClient();
// 连接服务端
client.Connect(ipAddress, port);
Console.WriteLine("连接到服务端");
// 获取网络流
NetworkStream stream = client.GetStream();
// 发送消息
string message = "Hello, server!";
byte[] buffer = Encoding.UTF8.GetBytes(message);
stream.Write(buffer, 0, buffer.Length);
Console.WriteLine("发送消息:" + message);
// 接收回复消息
buffer = new byte[1024];
int byteCount = stream.Read(buffer, 0, buffer.Length);
string reply = Encoding.UTF8.GetString(buffer, 0, byteCount);
Console.WriteLine("收到回复消息:" + reply);
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
finally
{
// 关闭TcpClient对象
if (client != null)
{
client.Close();
}
}
Console.ReadKey();
}
}
```
注意:在使用这个示例程序时,需要先启动服务端,再启动客户端。服务端等待客户端连接,客户端连接到服务端后发送消息,服务端接收消息并回复消息,客户端接收回复消息并输出。
阅读全文