Недавно я пытался подключиться к FTP-серверу через мобильное приложение. Я могу подключиться к своему серверу и проверить, подключено ли оно (что это такое). Следующим шагом будет логин с именем пользователя и паролем после установки пассивного режима. Последнее, что я сделал, это получить код ответа с сервера, но когда мое приложение запущено, мои экраны становятся черными. Когда я снова открываю приложение, он говорит: «recv failed: ECONNREST (Connection reset by peer)» в качестве сообщения об ошибке, которое я выводил. Вот мой код:Java FTPClient: получение «Connection reset by peer» при вызове getReply()
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
StrictMode.setThreadPolicy(policy);
ftpClient = new FTPClient();
textView = (TextView)findViewById(R.id.textView_id);
textView2 = (TextView)findViewById(R.id.textView2_id);
textView3 = (TextView)findViewById(R.id.textView3_id);
textView4 = (TextView)findViewById(R.id.textView4_id);
textView5 = (TextView)findViewById(R.id.textView5_id);
try{
ftpClient.connect(ip, port);
boolean connectSucces = ftpClient.isConnected();
ftpClient.login(userName,passWord);
ftpClient.enterLocalPassiveMode();
ftpClient.getReply();
int connectionMode = ftpClient.getDataConnectionMode();
if(connectionMode == ftpClient.PASSIVE_LOCAL_DATA_CONNECTION_MODE) {
textView.setText("Connected: " + connectSucces + " ConnectionMode: " + connectionMode);
}
}catch(Exception e){
textView.setText(e.getMessage());
}
}
Я что-то не хватает?
Хорошо. Я дал серверу команду для перечисления некоторых файлов «ftpClient.listFiles()», которые должны дать мне массив локализованных файлов. Когда я проверяю «ftpClient.listFiles(). Length», он возвращает 0, хотя он содержит 3 файла. –
@Job Это для другого вопроса. Обратите внимание, что это не дискуссионный форум. Это сайт Q & A. Я считаю, что на этот вопрос был дан ответ. –