用c#写一个udp通信代码
时间: 2024-01-26 11:05:08 浏览: 183
以下是一个简单的 C# UDP 通信代码示例:
```csharp
using System;
using System.Net;
using System.Net.Sockets;
using System.Text;
class UdpServer
{
static void Main(string[] args)
{
// 创建 UDP 服务器
UdpClient udpServer = new UdpClient(8888);
// 接收客户端发来的数据
Console.WriteLine("等待客户端连接...");
IPEndPoint remoteEP = new IPEndPoint(IPAddress.Any, 0);
byte[] data = udpServer.Receive(ref remoteEP);
Console.WriteLine("收到来自 {0} 的数据: {1}", remoteEP.ToString(), Encoding.UTF8.GetString(data));
// 发送响应数据给客户端
string response = "Hello, client!";
byte[] responseData = Encoding.UTF8.GetBytes(response);
udpServer.Send(responseData, responseData.Length, remoteEP);
// 关闭 UDP 服务器
udpServer.Close();
}
}
class UdpClient
{
static void Main(string[] args)
{
// 创建 UDP 客户端
UdpClient udpClient = new UdpClient();
// 向服务器发送数据
string message = "Hello, server!";
byte[] requestData = Encoding.UTF8.GetBytes(message);
IPEndPoint remoteEP = new IPEndPoint(IPAddress.Parse("127.0.0.1"), 8888);
udpClient.Send(requestData, requestData.Length, remoteEP);
// 接收服务器发来的数据
byte[] responseData = udpClient.Receive(ref remoteEP);
Console.WriteLine("收到来自 {0} 的响应数据: {1}", remoteEP.ToString(), Encoding.UTF8.GetString(responseData));
// 关闭 UDP 客户端
udpClient.Close();
}
}
```
在上面的示例中,我们创建了一个 UDP 服务器和一个 UDP 客户端。服务器监听本机的 8888 端口,等待客户端连接。客户端向服务器发送数据,并接收服务器的响应数据。注意,在这个示例中,客户端和服务器都是在本机上运行的,如果要在不同的机器上运行,需要将 IP 地址替换成相应的值。
阅读全文