|
下列范例使用 UdpClient,在通讯端口11000传送UDP 资料包至多点传送位址群组 224.268.100.2。它传送命令列上指定的信息字串。
[C#] using System; using System.Net; using System.Net.Sockets; using System.Text;
public class UDPMulticastSender {
private static IPAddress GroupAddress = IPAddress.Parse("224.168.100.2"); private static int GroupPort = 11000;
private static void Send( String message) { UdpClient sender = new UdpClient(); IPEndPoint groupEP = new IPEndPoint(GroupAddress,GroupPort);
try { Console.WriteLine("Sending datagram : {0}", message); byte[] bytes = Encoding.ASCII.GetBytes(message);
sender.Send(bytes, bytes.Length, groupEP);
sender.Close();
} catch (Exception e) { Console.WriteLine(e.ToString()); }
}
public static int Main(String[] args) { Send(args[0]);
return 0; } } | 下列范例使用 UdpClient,在通讯端口 11000 监听广播到多点传送位址群组 224.168.100.2 的 UDP 资料包。它接收信息字串,并將信息写入主控台 (Console)。
[C#] using System; using System.Net; using System.Net.Sockets; using System.Text;
public class UDPMulticastListener {
private static readonly IPAddress GroupAddress = IPAddress.Parse("224.168.100.2"); private const int GroupPort = 11000;
private static void StartListener() { bool done = false;
UdpClient listener = new UdpClient(); IPEndPoint groupEP = new IPEndPoint(GroupAddress,GroupPort);
try { listener.JoinMulticastGroup(GroupAddress); listener.Connect(groupEP);
while (!done) { Console.WriteLine("Waiting for broadcast"); byte[] bytes = listener.Receive( ref groupEP);
Console.WriteLine("Received broadcast from {0} :/n {1}/n", groupEP.ToString(), Encoding.ASCII.GetString(bytes,0,bytes.Length)); }
listener.Close();
} catch (Exception e) { Console.WriteLine(e.ToString()); }
}
public static int Main(String[] args) { StartListener();
return 0; } } |
|
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理