Передача файлов с помощью Pjsip

Я хочу разработать программу на c, используя pjsip для передачи файлов между узлами. Поскольку pjsip использует лед, а в ICE используется UDP, мне нужно обрабатывать гарантию доставки пакетов.

И поскольку я отправляю файл, разбивая его на несколько частей, а затем собираю все части на стороне получателя, мне нужно поддерживать последовательность пакетов или я могу предположить, что пакеты доставляются в правильной последовательности? ?


person Udit Agarwal    schedule 10.04.2013    source источник
comment
Вы нашли способ, как передать файл с помощью pjsip???   -  person Rahul Jain    schedule 21.09.2017


Ответы (1)


С UDP вы не можете предполагать ни то, что пакеты доставляются по порядку, ни то, что они доставляются ровно один раз, ни то, что они доставляются вообще! Поэтому вам нужно придумать протокол, который делает много вещей, о которых обычно заботится TCP. Он должен собрать исходный поток данных и обработать то, что я перечислил выше.

Кроме того, с UDP у вас может возникнуть проблема, связанная с перегрузкой. TCP может избежать этого с помощью своих алгоритмов предотвращения перегрузки, с UDP вы можете легко отправлять пакеты слишком быстро, что приводит к их отбрасыванию на перегруженном маршрутизаторе.

Все это нетривиальные проблемы, которые нужно решить, поэтому я предлагаю вам прочитать эту тему. Я бы начал с хорошей книги о TCP.

person Milan    schedule 13.05.2013
comment
что касается вашего ответа, что нужно проверить в udp при попытке обработать фрагменты на стороне клиента? - person just ME; 12.06.2014