Как использовать RMI с клиентом апплета позади брандмауэра?

В конце концов мы нашли ответ в исходном коде Live555 (в частности, MP3Internals.cpp).

По сути, вам нужно прочитать part_2_3_lengths для каждой гранулы в каждом канале, а затем вычислить их.

Грубо говоря:

uint numBits = 0;
for (int channelIdx = 0; channelIdx < isMono ? 1 : 2; channelIdx ++)
{
    for (int granuleIdx = 0; granuleIdx < 2; granuleIdx ++)
    {
        numBits += SideInfoGranules[channelIdx][granuleIdx].Part_2_3_Length;
    }
}

// Now maths this number. I don't know where the magic constants 7 and 8 come from though.
var aduDataSize = (numBits + 7) / 8;

Синтаксический анализ part_2_3_length слишком сложен для объяснения здесь, но он хорошо объяснен в getSideInfo1 и getSideInfo2 методах MP3Internals.cpp (например здесь );

7
задан michelemarcon 23 January 2009 в 08:13
поделиться

2 ответа

Еще не изучили его к глубоко моему сам, но при оглядывании о проекте, который я в настоящее время делаю, я приехал accross LipeRMI.

Вы могли бы хотеть взглянуть на него, поскольку это приспособило к использованию Интернета и упоминаниям "тень клиенты таким способом, которым они могут быть позади локальной сети, маршрутизатора или брандмауэра";

Править:

Помнивший другая реализация, с которой я столкнулся некоторое время назад, назвала Голубей RMI 1.0: Решение для Java проблема с брандмауэром RMI Вы могли бы хотеть взглянуть на ту также.

0
ответ дан 7 December 2019 в 05:30
поделиться
Другие вопросы по тегам:

Похожие вопросы: