001
27.01.2003, 16:20 Uhr
Bruder Leif
dances with systems (Operator)
|
Moin!
Die MSDN meint dazu (unter anderem, schau Dir mal die Klasse "UdpClient" an):
Im folgenden Beispiel wird UdpClient zum Abhören von UDP-Datagrammen verwendet, die an die Multicastadressengruppe 224.168.100.2 am Anschluss 11000 gesendet wurden. Er empfängt eine Meldungszeichenfolge und gibt die Meldung auf der Konsole aus.
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; } }
|
Im folgenden Beispiel wird ein UdpClient zum Senden von UDP-Datagrammen an die Multicastadressengruppe 224.268.100.2 am Anschluss 11000 verwendet. Er sendet die in der Befehlszeile angegebene Meldungszeichenfolge.
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; } }
|
-- Mit 40 Fieber sitzt man nicht mehr vor dem PC. Man liegt im Bett. Mit dem Notebook. Dieser Post wurde am 27.01.2003 um 16:21 Uhr von Bruder Leif editiert. |