Proszę o pomoc, chodzi o odbiór pakietu broadcastowego wysłanego za pomocą protokołu UDP, w Wiresharku widzę że tak pakiet się pojawia, nawet gdy uruchomię program na innym komputerze w sieci, ale za żadne skarby nie mogę go odebrać. Jeśli podmienię adres na który wysyłam UDP i zamiast broadcastowego wpiszę konkretny adres to pakiet dociera. O co chodzi?
Wysyłam pakiet w ten sposób
UdpClient klient = new UdpClient(IPAddress.Broadcast.ToString(),50001);
IPEndPoint zdalnyIP = new IPEndPoint(IPAddress.Any, 0);
byte[] bufor = Encoding.ASCII.GetBytes("HELLO");
klient.Send(bufor, bufor.Length);
//byte[] bufor2 = klient.Receive(ref zdalnyIP);
klient.Close();
Odbieram w ten
IPEndPoint zdalnyIP = new IPEndPoint(IPAddress.Any, 50001);
UdpClient serwerUDP = new UdpClient(50001);
//serwerUDP.EnableBroadcast = true;
//string wiadomosc = (string)(e.Argument as object[])[0]+ ":" + (string)(e.Argument as object[])[1];
//Byte[] buforwyj = Encoding.ASCII.GetBytes(wiadomosc);
while (true)
{
try
{
Byte[] buforwej = serwerUDP.Receive(ref zdalnyIP);
string dane = Encoding.ASCII.GetString(buforwej);
//try
//{
// if (dane == "HELLO")
// {
// klientUDP.Send(buforwyj, buforwyj.Length);
// SetText("Konfiguracja klienta: " + klientUDP.Client.RemoteEndPoint.ToString());
// }
//}
//catch (Exception ex)
//{
// MessageBox.Show("Błąd2"+ex.ToString());
//}
}
catch
{
MessageBox.Show("Błąd");
serwerUDP.Close();