Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Работа с файлами в CORBA средствами Java, Передача и прием файлов в CORBA 
:(
    Опции темы
kaa2006
Дата 11.11.2006, 01:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 46
Регистрация: 12.5.2006

Репутация: нет
Всего: нет



Всем привет.
Вот собираюсь писать программу в которой должна использоваться технология распределенных приложений CORBA.
Необходимо в ней реализовать работу с файлами, т.е. передачу и прием файлов в сети через CORBA, но вот с текстовыми данными проблем не, а вот с файлами не понятно? Возможно реализовать работу с файлами через CORBA, если возможно то как или где можно посмотреть.
Зараннее всем спасибо. smile  
PM MAIL   Вверх
Stampede
Дата 11.11.2006, 04:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Гносеолог
**


Профиль
Группа: Участник Клуба
Сообщений: 963
Регистрация: 25.4.2005
Где: Calgary, Alberta, Canada

Репутация: 24
Всего: 144



Да в принципе там, где можно послать текст, можно послать все что угодно - вопрос оформления. В частности, двоичный файл можно всегда представить как массив байтов и переслать в виде той или иной закодирванной строковой последовательности: Base64 или Hex, например. Скорее всего, в CORBA байтовый массив можно передать в качестве парамтра и напрямую. Так что с этим проблем быть не должно. Пробема тут на самом деле вот какого рода: если передавать файл за один вызов, то время выполнения файловой операции может оказаться очень, в общем случай - просто опупительно очень большим. Кто когда-нибудь утягивал кинушки с файлообменников, тот знает, что один фильм может качаться и по полдня, и больше. Самое неприятное при этом - это то, что у пользователя данной функции не будет абсолютно никакого контроля за тем, что происходит. Сколько уже байт переслано? Сколько осталось? Сколько примерно времени еще ждать.? А представь ужас ситуации, когда после пяти часов ожидания  в потемках тебе вываливается сообщение: связь отвалилась, запускайте заново.

Поэтому в реальной проге такого рода жизненно важно обеспечить возможность делать по крайней мере следующие вещи:
  • отслеживать ход закачки;
  • возобновлять выполнение с оборванного места.

Возникает вопрос: как это реализовать? Тут я могу предложить одно достаточно простое решение: надо реализовать свой программный протокол, который пересылает файлы небольшими порциями. Например, внешний программный интерфейс такого компонента мог бы выглядеть следующим образом:

Код

public interface Transfer {
    // возвращаемый int - это некий серверный ID, идетифицирующий
    // данную конкретную пересылку
    public int initTransfer(String fileName, String destinationPath);

    public void sendBlock(int transferID, int blockNumber, byte[] blockBytes, int CRC);

    public void completeTransfer(int transferID, int CRC);
}


На сервере под этот интерфейс надо будет написать реализацию, а на клиенте - трансферного агента, который скрывает последовательность серверных вызовов, предоставляя прикладному программисту простую локальную сигнатуру: public void sendFile(File file) throws IOException.

Можно, конечно, сделать и без всех этих заморочек, но в этом случая я бы старался в будущем избегать личной встречи с пользователями своего сервиса - для здоровья будет полезнее smile

PM WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
javastic
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0761 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.