Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / FTP-клиент / 2 сообщений из 2, страница 1 из 1
13.08.2005, 20:25
    #33214321
artgonch
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FTP-клиент
Здравствуйте!
У меня простая задача: подключиться к серверу, сообщить ему имя и пароль, перевести сервер в пассивный режим (для работы через прокси) загрузить файл и закрыть соединение. Все этапы хорошо выполняются, кроме предпоследнего. Вот примерный код (в строках, обнесенных !!!!!!!!!, указан код, возвращаемый сервером)
Код: 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
13.08.2005, 21:16
    #33214334
Я
Я
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FTP-клиент
Что-то не совсем понятно. А чем пользуешься для работы с ftp? login(), passivate() это чьи методы?
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / FTP-клиент / 2 сообщений из 2, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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