帮我写一份c#UDP通讯实例代码
时间: 2023-07-27 15:27:11 浏览: 108
好的,以下是一个简单的C# UDP通讯实例代码,其中包括了UDP Socket套接字的创建、发送和接收数据的过程:
```csharp
using System;
using System.Net;
using System.Net.Sockets;
using System.Text;
class Program
{
static void Main(string[] args)
{
// 创建UDP Socket套接字
UdpClient udpClient = new UdpClient();
// 设置远程IP地址和端口号
IPAddress remoteIPAddress = IPAddress.Parse("127.0.0.1");
int remotePort = 8888;
// 待发送的数据
string data = "Hello, UDP!";
// 将数据转换为字节数组
byte[] bytes = Encoding.UTF8.GetBytes(data);
try
{
// 发送数据
udpClient.Send(bytes, bytes.Length, remoteIPAddress, remotePort);
Console.WriteLine("Sent: {0}", data);
// 接收数据
IPEndPoint remoteEP = new IPEndPoint(IPAddress.Any, 0);
byte[] receiveBytes = udpClient.Receive(ref remoteEP);
string receiveData = Encoding.UTF8.GetString(receiveBytes);
Console.WriteLine("Received: {0}", receiveData);
}
catch (Exception ex)
{
Console.WriteLine(ex.ToString());
}
finally
{
// 关闭UDP Socket套接字
udpClient.Close();
}
Console.ReadKey();
}
}
```
在上述代码中,我们首先创建了一个UDP Socket套接字,然后设置了远程IP地址和端口号。接着,将待发送的数据转换为字节数组,并使用`Send()`方法将其发送出去。最后,通过`Receive()`方法接收远程主机返回的数据,并将其转换为字符串。注意,在接收数据时要使用`ref`关键字传递`remoteEP`参数,以获取远程主机的IP地址和端口号。
这是一个简单的UDP通讯实例代码,你可以根据实际需求进行调整和扩展。
阅读全文