необходимо передавать данные (аудио) на мобильные устройства через WLAN. Клиентов может быть от 20 до 1000. Сделали через UDP, но есть проблема — теряются пакеты. Если делать через TCP, то не сможем обеспечить всех желаюших данными (ограничены каналом).Передаем live-звук, поэтому задержка может быть максимально до 1 секунды. Есть ли решения для этой проблемы?
Здравствуйте, Iso12, Вы писали:
I>Привет,
I>необходимо передавать данные (аудио) на мобильные устройства через WLAN. Клиентов может быть от 20 до 1000. Сделали через UDP, но есть проблема — теряются пакеты. Если делать через TCP, то не сможем обеспечить всех желаюших данными (ограничены каналом).Передаем live-звук, поэтому задержка может быть максимально до 1 секунды. Есть ли решения для этой проблемы?
Может мультикаст сделать?
Здравствуйте, Iso12, Вы писали:
I>необходимо передавать данные (аудио) на мобильные устройства через WLAN. Клиентов может быть от 20 до 1000. Сделали через UDP, но есть проблема — теряются пакеты. Если делать через TCP, то не сможем обеспечить всех желаюших данными (ограничены каналом).Передаем live-звук, поэтому задержка может быть максимально до 1 секунды. Есть ли решения для этой проблемы?
Передавайте через UDP мултикастом с избыточностью, или с селективными ретрансмитами по просьбе клиентов.
Учтите, что если сеть сильно загружена, или клиенты находятся далековато от точки доступа (или через "плохую" стену), запросто может теряться порядка 10 процентов пакетов.
Учтите также, что мултикасты передаются на пониженных скоростях модуляции.
Здравствуйте, Iso12, Вы писали:
I>Привет,
I>необходимо передавать данные (аудио) на мобильные устройства через WLAN. Клиентов может быть от 20 до 1000. Сделали через UDP, но есть проблема — теряются пакеты. Если делать через TCP, то не сможем обеспечить всех желаюших данными (ограничены каналом).Передаем live-звук, поэтому задержка может быть максимально до 1 секунды. Есть ли решения для этой проблемы?
1. Решение — взять вместо велосипеда готовый RTP-протокол, как это делается в VoIP. Например, тот же SIP использует TCP для обмена сигналами, и RTP/UDP для медийного потока (потоков).
2. Если TCP показывает, что канал исчерпывается, то не это ли причина потерь в UDP? Т.е. причина может быть не в протоколе, а в технических ограничениях.