Привет!
Отправляю UDP дейтаграмму с порта 5060 и читаю ответ с помощью
recvfrom. Для приема ответа создается отдельный сокет, которому
говорится
Setsockopt(sockfd, SOL_SOCKET, SO_REUSEADDR, ...);
чтобы не было ошибки "socket already in use". tcpdump показывает, что
приходит ответ на порт 5060, sip port (elzhov_local - моя машина):
14:32:45.312129 IP c-24-218-216-50.domain.com.sip > elzhov_local.sip: SIP, length: 461
Тем не менее вызов recvfrom
n = recvfrom( sock_fd, buf, 2, //buf_len,
0,
(struct sockaddr *)&src_sockaddr,
(socklen_t *)&src_sockaddr_len) );
НЕ возвращается. Далее, запускаю на локальной машине простой клиент,
который шлет что-то прямо на порт 5060 - и recvfrom сразу читает это и
возвращает 2.
В чем тут может быть дело? Большое спасибо!

Ответ на:
комментарий
от mumg
Ответ на:
комментарий
от cvv
Ответ на:
комментарий
от murla

Ответ на:
комментарий
от murla

Ответ на:
комментарий
от cvv
Ответ на:
комментарий
от murla
Ответ на:
комментарий
от mumg

Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум [проблема с bind]Прием мультикаста с разных ip, но одинаковых портов (2010)
- Форум [pthread][c][socket] recvfrom возвращает «bad file descriptor». (2011)
- Форум Проблемка с bind (2003)
- Форум Пример программы UDP-сервера (2014)
- Форум Странные баги в маленьком примере на C (2006)
- Форум UDP-клиент OpenVpn (2015)
- Форум Не работает прием Multicast сообщения на втором интрфейсе (2023)
- Форум Совместное использование одного UDP порта двумя сокетами (2023)
- Форум Отправка и получение датаграм SO_BROADCAST из другой сети (2020)
- Форум Передача стурктуры sendto, recfrom (2012)