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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Apache Mina Protocol и передача файлов 
V
    Опции темы
firedrago
Дата 7.10.2009, 10:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Привет всем!
Вот начал разбираться с Apache Mina и очень успешно... не считая  маленькой детали...

В общем смысл в следующем:
  • я сделал на основе примера http://mina.apache.org/report/trunk/xref/o.../example/sumup/ свой клиент/сервер
  • сообщения отправляются по собственному маленькому протоколу
    Код

    | 1 byte тип сообщения | 4 byte int размер тела пакета | тело пакета | 
  • декодер находит соответствующий класс сообщения и начинает обрабатывать


А теперь собственно вопрос — как осуществить передачу файла ?
Схема такая — сервер получает МsgString «дай файл» — ну собственно надо и вернуть желаемый файл.
Идеи есть конечно - 
  • решение которого я еще не знаю — мне очень нравится
  • в сессию напрямую пихать buffered чего-то и с другой стороны ловить.... но это надо ловить в Exception DecoderNotFound — как-то коряво..... smile 
  • изобрести велосипед и реализовать что-то в роде FTP протокола..... посылать пакеты по 1500 байт и ловить ACK....... - велосипедов у меня уже и так много  smile ...... (! о кстати, отход от темы, когда передаешь файлы просто пихая их в сокет  -  есть ли гарантия, что все пакеты дойдут, или нет  smile ?)


Ну вот собственно и все....
Любые идеи приветствуются!
Спасибо!
PM MAIL   Вверх
firedrago
Дата 16.10.2009, 10:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



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

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

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


 




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


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

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