在C#中通过本地网络进行UDP组播,你可以使用UdpClient
类来实现。以下是一个示例代码,演示如何发送和接收UDP组播消息:
发送UDP组播消息:
using System;
using System.Net;
using System.Net.Sockets;
using System.Text;
class Program
{
static void Main()
{
// 设置组播地址和端口
IPAddress multicastAddress = IPAddress.Parse("239.0.0.1");
int port = 12345;
// 创建UdpClient实例
UdpClient udpClient = new UdpClient();
// 加入组播组
udpClient.JoinMulticastGroup(multicastAddress);
// 设置发送目标为组播地址和端口
udpClient.Connect(multicastAddress, port);
// 发送消息
string message = "Hello, multicast!";
byte[] data = Encoding.UTF8.GetBytes(message);
udpClient.Send(data, data.Length);
// 关闭UdpClient
udpClient.Close();
Console.WriteLine("UDP组播消息已发送。");
}
}
接收UDP组播消息:
using System;
using System.Net;
using System.Net.Sockets;
using System.Text;
class Program
{
static void Main()
{
// 设置组播地址和端口
IPAddress multicastAddress = IPAddress.Parse("239.0.0.1");
int port = 12345;
// 创建UdpClient实例
UdpClient udpClient = new UdpClient(port);
// 加入组播组
udpClient.JoinMulticastGroup(multicastAddress);
// 接收消息
IPEndPoint remoteEP = null;
byte[] data = udpClient.Receive(ref remoteEP);
string message = Encoding.UTF8.GetString(data);
// 关闭UdpClient
udpClient.Close();
Console.WriteLine("接收到UDP组播消息:{0}", message);
}
}
在上面的示例中,我们使用UdpClient
类来创建UDP客户端。在发送端,我们设置组播地址和端口,并使用JoinMulticastGroup
方法加入组播组。然后,我们使用Connect
方法将UdpClient
连接到组播地址和端口,并使用Send
方法发送消息。
在接收端,我们同样设置组播地址和端口,并使用JoinMulticastGroup
方法加入组播组。然后,我们使用Receive
方法接收消息,并使用GetString
方法将接收到的字节数组转换为字符串。
领取专属 10元无门槛券
手把手带您无忧上云