Я пытаюсь создать клиент и сервер чата, которые работают на одном ПК и обмениваются данными через UDP Broadcast (или loopback) на одном и том же порту.Я могу заставить клиента чата отправлять серверу чата сообщение, но когда я пытаюсь ответить, клиент не получает ответа.
Я думаю, суть проблемы в том, что я неКак обойти VisualStudio, чтобы вы не могли запускать два слушателя в одном сокете.Я попытался обойти это, поскольку другие намекали на онлайн, слушая широковещательные сообщения на одном, и слушая IPAdress.Any на другом.Я попытался смешать IP-адреса и Loopback, но всегда кажется, что он не работает.
Сервер чата:
int port = 10500;
UdpClient udpClient = new UdpClient(port);
IPEndPoint ipep = new IPEndPoint(IPAddress.Any, port);
IPEndPoint sendipep = new IPEndPoint(IPAddress.Parse("192.168.0.255"), port);
...
//Main
udpClient.EnableBroadcast = true;
...
//Send
udpClient.Send(outgoingData, outgoingData.Length, sendipep);
...
//Receive
while(true) {
data = udpClient.Receive(ref ipep);
Клиент чата:
private int port = 10500;
UdpClient udpClient = new UdpClient("192.168.0.255", port);
IPEndPoint ipep = new IPEndPoint(IPAddress.Parse("192.168.0.255"), port);
...
//Main
udpClient.EnableBroadcast = true;
...
//Send
udpClient.Send(outgoingData, outgoingData.Length);
...
//Receive
byte[] incomingData = udpClient.Receive(ref ipep);
Я ожидаю клиентаполучить входящее сообщение, но, похоже, оно никогда не получится.Спасибо за чтение!