1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
|
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();
}
}
}
|