Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Архитектура голосового чата. Как работает Skype. 
:(
    Опции темы
val
  Дата 11.8.2005, 15:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Program developer
**


Профиль
Группа: Участник Клуба
Сообщений: 992
Регистрация: 14.1.2003
Где: г. Киев

Репутация: нет
Всего: 7



Привет, всем!
Сейчас занимаюсь разработкой многопользовательского голосового чата. Для инициализации сессий я использую протокол SIP, ну а голос, непосредственно, гоняется по RTP. В локальной сети все работает просто замечательно, но как только начал тестирование на просторах Интернета, возникли проблемы.
Итак, все по порядку. Инициализация сессий идет по протоколу TCP/IP через 80-порт. С этим проблем нет, ну а потом начинается RTP-стриминг через UDP-порты. Но вот загвоздка в том, что практически все файерволы эти самые UDP порты держат закрытыми и никакого стриминга не пропускают. Вот и загибается моя программка. Просить открывать порты это не выход и не решение. Короче не знаю, что и делать, но очень бы хотелось иметь нормальный UDP-стриминг.
Есть такая программка Skype. Так вот, её авторы как-то умудрились организовать такой стриминг, при этом точно могу сказать, что сессии устанавливается через 80-порт, а как звук идет - не понятно. Кто знает, подскажите, пожалуйста?



--------------------
Терпимость - величайшее благо человечества...
Ярчайший признак интеллекта – постоянно хорошее настроение…
PM MAIL ICQ   Вверх
Retro
Дата 12.8.2005, 16:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Диалектик
***


Профиль
Группа: Участник Клуба
Сообщений: 1934
Регистрация: 28.6.2005
Где: Киев

Репутация: 2
Всего: 117



Цитата(val @ 11.8.2005, 15:40)
Но вот загвоздка в том, что практически все файерволы эти самые UDP порты держат закрытыми и никакого стриминга не пропускают.

Не понял вопроса, мой файервол в любом случае заблокирует любое соединение (входящее или исходящее) если я не дам разрешения на выполнение, как тот же Skype который при первом запуске был блокирован и только после моего разрешения соединился с сервером, соответственно он может использовать любые порты т.к. я поставил в файерволе - "Доверять приложению".
Только что глянул специально smile , Skype исрользует UDP порты для соединения и все ОК.

PM MAIL   Вверх
DENNN
Дата 15.8.2005, 09:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 3878
Регистрация: 27.3.2002
Где: Москва

Репутация: 1
Всего: 43



Думаю проблема в том, что один из хостов находится за NAT'ом. попробуй сначала иницировать UDP соединение на клиенте, а сервер уже будет отвечать на тот адрес и порт, что открылсяу клиента. Может плохо объяснил, но думаю суть понятна.
PM ICQ   Вверх
val
Дата 15.8.2005, 17:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Program developer
**


Профиль
Группа: Участник Клуба
Сообщений: 992
Регистрация: 14.1.2003
Где: г. Киев

Репутация: нет
Всего: 7



Всем спасибо, разобрался. Надо просто самому открывать сокеты, а не слушать порты. Вот и всё.
Retro, файервол твоего провайдера скорее всего тоже блокирует порты на входящие соединения, а надо создавать исходящие, тогда будет всё ок. :-).


--------------------
Терпимость - величайшее благо человечества...
Ярчайший признак интеллекта – постоянно хорошее настроение…
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Продвижение и оптимизация сайтов | Следующая тема »


 




[ Время генерации скрипта: 0.0419 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.