рукопожатие TCP/RTMP

Я пишу приложение для (неофициальной) замены клиента, сделанного в Adobe Air, они используют RTMP в качестве протокола подключения, для которого мне придется создать свой собственный класс: ‹

RTMP, насколько я знаю, помещается в протокол TCP, но нужно ли сначала устанавливать TCP-соединение / рукопожатие, а затем RTMP-рукопожатие?

Или рукопожатие TCP игнорируется, а заголовки TCP используются только для передачи рукопожатия/данных RTMP?

С уважением.


person luke    schedule 19.08.2011    source источник


Ответы (3)


Вы устанавливаете TCP-соединение, а затем сразу же переходите к RTMP-рукопожатию, то есть вы начинаете с отправки C0, затем переходите к S0, C1, S1, C2, S2. Как только вы получите последний, рукопожатие RTMP будет завершено. Удачи с RTMP, он вам понадобится.

person Roman R.    schedule 08.09.2011

Вау, хороший у вас проект.

RTMP работает через TCP, как вы предложили. Интересно то, что по TCP передаются не только управляющие команды, но и медиаданные. В отличие от RTSP, который, как и ожидалось, использует UDP. Существуют также библиотеки, которые делают то, что вы пытаетесь сделать. Один, который показался мне интересным, написан на php — http://code.google.com/p/php-rtmp-client/.

Вам также необходимо работать с AMF, который представляет собой двоичный формат, в котором кодируются команды RTMP. Об этом есть хорошая статья в Википедии и несколько парсеров, таких как AMFPHP.

person Michael M    schedule 08.11.2011

на случай, если кто-нибудь наткнется на это в Google в поисках решения, как я, я нашел свое решение на http://www.fluorinefx.com/. Не нужно беспокоиться о рукопожатиях или чем-то еще. Все аккуратно упаковано :)

person blizz    schedule 15.03.2014