![]() |
|
|
![]()
|
|
| val |
|
|||
![]() Program developer ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 992 Регистрация: 14.1.2003 Где: г. Киев Репутация: нет Всего: 7 |
Привет, всем!
Сейчас занимаюсь разработкой многопользовательского голосового чата. Для инициализации сессий я использую протокол SIP, ну а голос, непосредственно, гоняется по RTP. В локальной сети все работает просто замечательно, но как только начал тестирование на просторах Интернета, возникли проблемы. Итак, все по порядку. Инициализация сессий идет по протоколу TCP/IP через 80-порт. С этим проблем нет, ну а потом начинается RTP-стриминг через UDP-порты. Но вот загвоздка в том, что практически все файерволы эти самые UDP порты держат закрытыми и никакого стриминга не пропускают. Вот и загибается моя программка. Просить открывать порты это не выход и не решение. Короче не знаю, что и делать, но очень бы хотелось иметь нормальный UDP-стриминг. Есть такая программка Skype. Так вот, её авторы как-то умудрились организовать такой стриминг, при этом точно могу сказать, что сессии устанавливается через 80-порт, а как звук идет - не понятно. Кто знает, подскажите, пожалуйста? -------------------- Терпимость - величайшее благо человечества... Ярчайший признак интеллекта – постоянно хорошее настроение… |
|||
|
||||
| Retro |
|
|||
![]() Диалектик ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1934 Регистрация: 28.6.2005 Где: Киев Репутация: 2 Всего: 117 |
Не понял вопроса, мой файервол в любом случае заблокирует любое соединение (входящее или исходящее) если я не дам разрешения на выполнение, как тот же Skype который при первом запуске был блокирован и только после моего разрешения соединился с сервером, соответственно он может использовать любые порты т.к. я поставил в файерволе - "Доверять приложению". Только что глянул специально |
|||
|
||||
| DENNN |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3878 Регистрация: 27.3.2002 Где: Москва Репутация: 1 Всего: 43 |
Думаю проблема в том, что один из хостов находится за NAT'ом. попробуй сначала иницировать UDP соединение на клиенте, а сервер уже будет отвечать на тот адрес и порт, что открылсяу клиента. Может плохо объяснил, но думаю суть понятна.
|
|||
|
||||
| val |
|
|||
![]() Program developer ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 992 Регистрация: 14.1.2003 Где: г. Киев Репутация: нет Всего: 7 |
Всем спасибо, разобрался. Надо просто самому открывать сокеты, а не слушать порты. Вот и всё.
Retro, файервол твоего провайдера скорее всего тоже блокирует порты на входящие соединения, а надо создавать исходящие, тогда будет всё ок. :-). -------------------- Терпимость - величайшее благо человечества... Ярчайший признак интеллекта – постоянно хорошее настроение… |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Продвижение и оптимизация сайтов | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |