Как посылать сообщения с UDP broadcast сервера и прослушивать их на подключенном к нему клиенте?
Всем привет. Хочу сделать так, чтобы мой сервер мог посылать свои сообщения на широковещательный канал. Клиенты в свою очередь к этому UPD-серверу должны быть подключены и получали от него пакеты.
Как я понимаю это всё должно быть просто (Сторона сервера):
- Сначала я создаю instance UdpClient:
// Тут я просто указываю порт. Серверу не нужно знать свой IP, чтобы к нему
// могли подсоединяться клиенты (как раз-таки клиентам и нужно)
UdpClient SenderListener = new UdpClient(11000);
SenderListener.EnableBroadcast = true;
// вместо Broadcast пробовал "172.16.75.255"
IPEndPoint remoteEndPoint = new IPEndPoint(IPAddress.Broadcast, 11000);
- Далее я рассылаю сообщения в broadcast
while (true)
{
var bytes = Encoding.ASCII.GetBytes(Console.ReadLine());
SenderListener.Send(bytes, bytes.Length, remoteEndPoint);
}
Сторона Клиента:
- Тут я просто инициализирую клиента и в конструкторе указываю какой сервер нужно прослушивать:
UdpClient client = new UdpClient("127.0.0.1", 11000);
var data = new byte[256];
IPEndPoint ep = new IPEndPoint(IPAddress.Any, 11000);
- Собственно жду, пока broadcast сервер начнёт вещать:
while (true)
{
data = client.Receive(ref ep);
Console.WriteLine(Encoding.ASCII.GetString(data));
}
Уже второй день мучаюсь с этой казалось бы лёгкой вещью. С теоретической т.з. я хорошо понимаю о чём тут идёт речь, но почему я просто не могу прослушать то, что посылает сервер клиентам?