Я могу отправить сообщение udp на определенный URL и порт (успешно), но я не могу получить ответное сообщение, которое я могу видеть на Wireshark!получение сообщения udp отсутствует
Это код, который я использую для подключения UdP:
Byte[] sendBytes = Encoding.ASCII.GetBytes(sipMessage);
String responseData = String.Empty;
IPEndPoint RemoteIpEndPoint = new IPEndPoint(IPAddress.Any, 0);
try
{
using (UdpClient udpClient = new UdpClient(ipaddr, 5060))
{
udpClient.Client.ReceiveTimeout = 1000;
udpClient.Send(sendBytes, sendBytes.Length);
Byte[] receiveBytes = udpClient.Receive(ref RemoteIpEndPoint);
responseData = Encoding.ASCII.GetString(receiveBytes);
}
}
catch (Exception ex)
{
responseData = ex.Message;
}
Если я не установлен тайм-аут, поток продолжает работать.
Сообщение ответ:
Попытка подключения не удалась, поскольку подключенная сторона не должным образом реагировать после определенного периода времени, или установленное соединение не удалось, поскольку подключенный хозяин не смог ответить
результат от Wireshark ниже:
+-----+-----------+--------------+--------------+----------+--------+--------------------------------------------------------+
| No. | Time | Source | Destination | Protocol | Length | Info |
+-----+-----------+--------------+--------------+----------+--------+--------------------------------------------------------+
| 465 | 33.378167 | 192.168.1.61 | 192.168.1.63 | SIP | 289 | Request: MESSAGE sip:[email protected] | (text/plain) |
| 469 | 33.817460 | 192.168.1.63 | 192.168.1.61 | SIP | 254 | Status: 200 OK | |
+-----+-----------+--------------+--------------+----------+--------+--------------------------------------------------------+
добавление: 192.168.1.61 представляет собой компьютер, на котором размещен веб-страницы, 192.168.1.63 является WiFi Телефон DECT
Мне нужно отправить сообщение глотнуть к Wi-Fi стандарта DECT (который я уже достигнуто)
телефон отправляет обратно сообщение sip на 192.168.1.61:5060. Поток SIP, как:
[Random Port] - Сообщение -> [5060]
[5060] < - 200 OK - [5060]
так, шт подключитесь к dect как udp-клиенту и отправьте сообщение, dect отправит обратно 200 OK sip-сообщение на порт 5060 ПК. У меня проблема при получении сообщения 200 OK!
НОВОСТИ: Когда я останавливаю услуги сервера pbx, я могу получить результат (200 OK); в противном случае я не могу получить сообщение sip ...
Что такое "udpClient.Receive"? –
Для получения данных от отправителя. если у вас есть сервер и клиент под контролем, вы можете/должны сами написать ответ. – Johan
Как вы можете видеть на журналах wirehark, есть ответное сообщение от udp. –