Когда я соединяюсь с smbj, журнал ошибок показывает:
...
I/c.h.s.c.Connection: Successfully authenticated user on 192.168.1.222, session is 4399187361905
I/c.h.s.s.Session: Logging off session 4399187361905 from host 192.168.1.222
I/c.h.s.t.PacketReader: Thread[Packet Reader for 192.168.1.222,5,main] stopped.
I/c.h.s.c.Connection: Closed connection to 192.168.1.222
I/c.h.s.s.Session: Connecting to \\192.168.1.222\pop on session 4399187361905
Немедленно - без задержки. Таким образом, соединение закрывается сразу после его открытия, и оно разрывается, если я пытаюсь перечислить файлы ...
Caused by: com.hierynomus.smbj.common.SMBRuntimeException: com.hierynomus.protocol.transport.TransportException: Cannot write SMB2_TREE_CONNECT with message id << 4 >> as transport is disconnected
Что кажется очевидным, посколькунет открытого соединения.
Вопрос, связанный с smbj, показал, что была проблема с тем, как этот человек использовал оператор try ... Я считаю, что это аналогичный случай.
ВнутриAsyncTask, у меня есть:
try (Connection connection = client.connect(serverName)) {
AuthenticationContext ac = new AuthenticationContext(username, password.toCharArray(), domain);
Session session = connection.authenticate(ac);
this.session = session;
return session;
} catch (IOException e) {
e.printStackTrace();
}
Я уверен, что есть проблема с try-catch. Может кто-нибудь, пожалуйста, дать полный кусок кода, включая AsyncTask - как должен иметь модуль smbj github. Я надеюсь, что это решит большинство проблем для всех пользователей.