Привет! Отправляю 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)