Mit den folgenden Methoden kann man einen Broadcast im lokalen Netzwerk senden. Um mit diesen Methoden arbeiten zu können, müssen folgende Bibliotheken eingebunden werden :
- System.Net
- System.Net.Sockets
Weiterführende Literatur zum Verständnis :
- http://de.wikipedia.org/wiki/Socket
- http://de.wikipedia.org/wiki/Broadcast
namespace Networking.Broadcast
{
public class BroadCast
{
/// <summary>
/// Methode, um einen Broadcast im lokalen Netzwerk abzusetzen
/// </summary>
/// <param name="data">Daten, welche beim Broadcast mitgesendet werden</param>
/// <param name="port">Zielport</param>
public void BroadCastSend(byte[] data, int port)
{
this.BroadCastSend(data, IPAddress.Broadcast, port);
}
/// <summary>
/// Methode, um einen Broadcast im lokalen Netzwerk abzusetzen
/// </summary>
/// <param name="data">Daten, welche beim Broadcast mitgesendet werden</param>
/// <param name="ip">Protokollart</param>
/// <param name="port">Zielport</param>
public void BroadCastSend(byte[] data, IPAddress ip, int port)
{
//Socket definieren
Socket bcSocket = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);
//EndPoint definieren bzw. Ziel des Broadcastes
IPEndPoint iep1 = new IPEndPoint(ip, port);
//Optionen auf den Socket binden
bcSocket.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.Broadcast, 0);
//Broadcast senden
bcSocket.SendTo(data, iep1);
//Für Debug - Zwecke
//Console.WriteLine("Broadcast sent : " + ip.ToString() + " : " + port.ToString());
//Socket schliessen, nach erfolgreichem Senden des Broadcastes
bcSocket.Close();
}
}
}
1 Kommentare zum Snippet