powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / FTP-клиент
2 сообщений из 2, страница 1 из 1
FTP-клиент
    #33214321
artgonch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте!
У меня простая задача: подключиться к серверу, сообщить ему имя и пароль, перевести сервер в пассивный режим (для работы через прокси) загрузить файл и закрыть соединение. Все этапы хорошо выполняются, кроме предпоследнего. Вот примерный код (в строках, обнесенных !!!!!!!!!, указан код, возвращаемый сервером)
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
       if  (!login())
      {
        logger.writeLog("Cannot login: " + message);
         return ;
      } 

      // Выполняем команду restart - тут тоже все в порядке
       if  (!sendRest( 0 ))
      {
        logger.writeLog(message);
         return ;        
      }
            
      // Переводим сервер в пассиный режим - все в порядке
       if  (!passivate())
      {
        logger.writeLog(message);
         return ;
      }
      String msg = message;
      
      // Переключаем редим 
       if  (!setType('I'))
      {
        logger.writeLog(message);
         return ;        
      }
      
      // Получение IP и порта, на которых сервер ждет подключения
       int  pos = msg.indexOf('(');
       int  pos1 = msg.indexOf(")", ++pos);
      msg = msg.substring(pos, pos1);
      StringTokenizer st =  new  StringTokenizer(msg, ",");
      
      String dataHost = "";
      String tmp = "";
       for  ( int  i =  0 ; i <  3 ; i++)
      {
        dataHost += st.nextToken() + ".";
      }
      dataHost += st.nextToken();
       for  ( int  i =  0 ; i <  2 ; i++)
      {
        tmp += st.nextToken();
      }
       int  dataPort = Integer.parseInt(tmp);

      // Посылка команды retr серверу для начала передачи файла
      // Тут сервер отвечает, что переходит в двоичный режим передачи ждя файла такого-то (и размер указывает)
       if  (!initTransfer())
      {
        logger.writeLog(message);
         return ;
      }
      // Создание потока приема данных
      DataConnectionThread dataConnObj =  new  DataConnectionThread(dataHost, dataPort, localFileName, logger);
      dataConnThread =  new  Thread(dataConnObj);
      // Запуск потока
      dataConnThread.start();
      // Ожидание ответа от сервера
      // !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
      // Здесь сервер возвращает код 425
      // !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
     String ans = in.readLine();
       if  (ans.charAt( 0 ) != '2')
В чем м.б. пробоема?
Заранее спасибо.
...
Рейтинг: 0 / 0
FTP-клиент
    #33214334
Я
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Я
Гость
Что-то не совсем понятно. А чем пользуешься для работы с ftp? login(), passivate() это чьи методы?
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / FTP-клиент
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]