2010-08-11 3 views
1

Мне нужно общаться между сервером/клиентом. Я видел, что CORBA используется для разных языков, чтобы работать как RMI, не так ли? В моем приложении мне придется переносить объекты между клиентом/сервером, передавать двоичные файлы (которые я видел, что я могу делать с RMI), а также воспроизводить прямую трансляцию с одного клиента на другой. Я думал о CORBA, потому что он также может быть использован с C++, если мне нужно, не так ли? Могу ли я играть в потоковое видео с CORBA?Могу ли я использовать CORBA/RMI для потоковой передачи в реальном времени?

+0

Я бы сделал почти все, чтобы не использовать CORBA - и это, конечно же, не предназначено для приложений, таких как потоковое воспроизведение. – 2010-08-11 13:06:24

+0

Я не уверен в других ORB, но TAO ACE имеет проблемы с памятью при передаче больших объектов. – DumbCoder

ответ

5

RMI и CORBA являются технологиями для распределенных объектов. Затем вы вызываете методы на удаленном объекте так же, как на локальном объекте.

Конечно, вы можете отправлять и получать байты, если вы реализуете методы, которые делают это (например, void sendChunk(byte[] data)). Но я бы не счел их подходящими для потоковой передачи . Также для потоковой передачи вы должны выбрать что-то для удовлетворения качества обслуживания потока, который RMI или CORBA окончательно не делают. Для этого я, возможно, посмотрю на сокеты UDP или что-то в этом роде, которое просто отбрасывает пакеты, если канал насыщен.

+0

Мне нужно многопоточное потоковое вещание. Поэтому мне нужно будет заставить clint прослушивать сокеты UDP, когда он получает инструкцию RMI, сообщающую с сервера, говоря ему так? – fredcrs

4

CORBA предоставляет вам множество услуг, и, возможно, это не лучший вариант для потокового мультимедиа. Две причин я могу думать (хотя можно найти больше доводов против слишком)

  1. Полезной нагрузку объекта больше, чем просто данные (сортировочный и немаршалинг)
  2. CORBA (в частности, реализация), как правило, стремятся к хорошему QoS aka будет повторные попытки для того же звонка

Это было продемонстрировано, что ORB могут работать с сообщением real-time. Таким образом, CORBA в качестве рамки не полностью исключена из таблицы.

Я не уверен в возможностях многоадресной связи CORBA.

3

Если вы намереваетесь использовать CORBA для решения этой проблемы, посмотрите RT-CORBA (в реальном времени corba). Я считаю, что у TAO есть реализация, но я никогда не использовал RT-CORBA, поэтому я не могу говорить из первых рук, если это даст вам производительность, которую вам потребуется для потоковой передачи.

Смежные вопросы