Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java: Работа с сетью > Apache Mina Protocol и передача файлов


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

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

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


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


Ну вот собственно и все....
Любые идеи приветствуются!
Спасибо!

Автор: firedrago 16.10.2009, 10:22
В общем решение — заново изобретенный велосипед....
отправляется message с куском файла в ответ ACK, следующий пакет и т.д.
Работает на ура!  smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)