Перейти к содержанию
Fire Monkey от А до Я
  • 0

Запись файла на сетевой диск по протоколу SAMBA из под ANDROID


Andrey GR

Вопрос

Опубликовано

Коллеги, добрый день.

Как с анонимной/ не анонимной аутинтификацией сохранять файлы из приложения под платформой ANDROID на файловом сервере по протоколу SAMBA (Простая шара на виндах) ?

Т.е. Где прописывать имя пользователя и пароль.

На Windows - платформе отрабатывает нормально, на ANDROID - ошибка "I/O error 30"

var f:textFile; // Описание переменной.
begin
   AssignFile(f, Edt_FileQRY.Text);  // Связь переменной с файлом.
  try
   Rewrite(f);                         // Создания нового файла.
  except
            on E: Exception do
     begin
        ShowMessage(E.ClassName+':'
          +E.Message+':'
              +E.QualifiedClassName+':');
         end;
  end;
   Write(f, 'Path='+Edt_FileResultXML.Text+';'); 
   Write(f, 'QRY='+Edt_Qry1C.Text+';'); 
   CloseFile(f);
end;

 

 

 

Рекомендуемые сообщения

  • 0
  • Модераторы
Опубликовано

ну так андроид не знает о существовании протокола Samba, на java это решается подключением сторонней библиотеки.

подробней можно почитать тут

  • 0
Опубликовано

Есть какие-то продвижения непосредственно в FMX с протоколом SAMBA за полтора года?

Может какие-то компоненты/библиотеки кто-то создал?

  • 0
Опубликовано

только что же поднимался вопрос. в последнем win10 старую самбу отключили. новая фиг разберешь есть на девайсе или нет

поэтому нормально все-таки не пользоваться Windows -сетью на Андроид а работать например с FTP

  • 0
Опубликовано
1 минуту назад, krapotkin сказал:

сетью на Андроид а работать например с FTP

Т.е. устанавливать и настраивать на ПК FTP сервер?

  • 0
Опубликовано (изменено)

Кто-нибудь это пользовал?

https://github.com/LongDirtyAnimAlf/Delphi-Android-SMB

с горем пополам скомпилировал на Токио, но при работе на Андроид 5 постоянно вываливаются разные исключения, чтобы я не делал.

Изменено пользователем x11
  • 0
Опубликовано

вообще сколько себя помню, столько были траблы с шарами под win

то антивирус блокирует, то фаервол, то еще к-нить хрень типа "служба обнаружения вин работает только для ... и не работает для..."

поэтому традиционно пользовался клиент-сервером )))

 

  • 0
Опубликовано

Есть. Dce rpc от rapid7+smbj java . Линковать библиотеки, делать обёртку... работает даже доменная авторизация. Готового проекта нету. Это для android

  • 0
Опубликовано
31 минуту назад, Sanek сказал:

Есть. Dce rpc от rapid7+smbj java . Линковать библиотеки, делать обёртку... работает даже доменная авторизация. Готового проекта нету. Это для android

ну сделайте тестовое простенькое приложение, многие были бы благодарны )

я запустил эту Delphi-Android-SMB , там только нужно было вынести вызовы в отдельный поток, а там сетевой вызов выполняется в основном потоке, а Android против этого,  но нифига что то не получается подключиться к шаре (

  • 0
Опубликовано
4 часа назад, Игорь Маринин сказал:

ну сделайте тестовое простенькое приложение, многие были бы благодарны )

я запустил эту Delphi-Android-SMB , там только нужно было вынести вызовы в отдельный поток, а там сетевой вызов выполняется в основном потоке, а Android против этого,  но нифига что то не получается подключиться к шаре (

Именно эту бибилиотеку(jcifs) мне не удалось нормально запустить. Я использовал smbj...https://github.com/hierynomus/smbj

 

  • 0
Опубликовано (изменено)

Sanek, можете небольшое демо выложить?

я её даже собрать не могу: "AsyncDirectTcpTransportSpec > client should connect to AsyncDirectTcpTransport FAILED"

отключил тест, собрал со всеми зависимостями, так не могу обертку сделать - куча ошибок. отключил mbassy, META-INF/versions, ..  один фиг..

Изменено пользователем Игорь Маринин
  • 0
Опубликовано
3 часа назад, Игорь Маринин сказал:

Sanek, можете небольшое демо выложить?

я её даже собрать не могу: "AsyncDirectTcpTransportSpec > client should connect to AsyncDirectTcpTransport FAILED"

отключил тест, собрал со всеми зависимостями, так не могу обертку сделать - куча ошибок. отключил mbassy, META-INF/versions, ..  один фиг..

Ремарк1(как я понял): ни jcifs, ни smbj не умеют открывать корневую директорию (принтеры+файлшары+админ ресурсы) а только в указананную папку далее на 1 уровень вверх...

Ремарк2: саму библиотеку (smbj)я немного правил,в некоторые функции  добавлял свою обвязку , чтобы готовый результат был *проще* (аля массив байт на попытку открыть файл)... иначе делать кучу java объектов для входных параметров...т.е. делать wrapper на библиотеку и потом на неё обертку delphi.

Вам надо пробовать smbj .. Ищите на мавенах итд репозиториях скомпилированный smbj.jar файл определённой версии. Далее с гитхаба например берем исходники этой версии и прогоняем через java2op. Пробуем по экзамплу коннект в отдельном потоке (tthread.createanonymousthread)...

И к проекту нужны будут еще jar файлы зависимостей(mbcprov...итд)+вложенный в ide google guava(точно не помню) нужно будет отключить, т.к. он будет в более полном пакете jar файла зависимости. 

 

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить на вопрос...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...