Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для мобильных телефонов > MidletPascal > Основной форум

Основной форум Сюда все проблемы связанные с программированием.

Ответ
 
Опции темы
Старый 20.11.2011, 11:51   #1
Rock2roll
Знающий
 
Аватар для Rock2roll
 
Регистрация: 14.05.2010
Сообщений: 297
Написано 13 полезных сообщений
(для 13 пользователей)
Смех Lib_ftp

Надо бы мне эта либа, и я нашел её, но не увидел там одной весьма необходимой ф-ции: удалить файл с сервера.
Да, имхо необходимо.
Если она есть но я проморгал- отпишите
__________________
G502, GT S5230w user!
(Offline)
 
Ответить с цитированием
Старый 25.11.2011, 17:23   #2
bormotan
Оператор ЭВМ
 
Регистрация: 12.10.2011
Адрес: Воронеж
Сообщений: 46
Написано 2 полезных сообщений
(для 2 пользователей)
Ответ: Lib_ftp

возможно эта тема для тебя
(Offline)
 
Ответить с цитированием
Старый 26.11.2011, 21:23   #3
Rock2roll
Знающий
 
Аватар для Rock2roll
 
Регистрация: 14.05.2010
Сообщений: 297
Написано 13 полезных сообщений
(для 13 пользователей)
Ответ: Lib_ftp

Я про эту либу и писал. Нет там удаления, переименования и т.д
__________________
G502, GT S5230w user!
(Offline)
 
Ответить с цитированием
Старый 03.12.2011, 00:17   #4
Rock2roll
Знающий
 
Аватар для Rock2roll
 
Регистрация: 14.05.2010
Сообщений: 297
Написано 13 полезных сообщений
(для 13 пользователей)
Ответ: Lib_ftp

Опытным путём узнал что либа только создаёт сокет-соединение.
Но даже и не пытается отправить. Тест на тлф и емуле.
Отладчик упорно выдает "REST:" и на тлф и на емуле.
вот код:
slog:='qwerty';
spass:='qweqwe';
server:=ftp.ftpopen('mysite.com','login','password');//вход на сервер
server:=ftp.ftpsendstr('/server/account/'+slog+'.ini',spass);
при этом ничего не происходит. Помогите, очень нужен фтп
__________________
G502, GT S5230w user!

Последний раз редактировалось Rock2roll, 03.12.2011 в 15:12.
(Offline)
 
Ответить с цитированием
Старый 03.12.2011, 15:44   #5
Rock2roll
Знающий
 
Аватар для Rock2roll
 
Регистрация: 14.05.2010
Сообщений: 297
Написано 13 полезных сообщений
(для 13 пользователей)
Ответ: Lib_ftp

Не, ну есть же выход. Писали же что работает!
__________________
G502, GT S5230w user!
(Offline)
 
Ответить с цитированием
Старый 22.12.2011, 02:46   #6
SERaGON
AnyKey`щик
 
Регистрация: 22.12.2011
Сообщений: 1
Написано одно полезное сообщение
Ответ: Lib_ftp

Сообщение от AngeLvKedaX Посмотреть сообщение
Отладчик упорно выдает "REST:" и на тлф и на емуле.
Надо немного подправить либу, нужно чтобы передавалось "REST 0"
именно этот 0 заставляет ее работать
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Rock2roll (24.12.2011)
Старый 24.12.2011, 18:42   #7
Rock2roll
Знающий
 
Аватар для Rock2roll
 
Регистрация: 14.05.2010
Сообщений: 297
Написано 13 полезных сообщений
(для 13 пользователей)
Ответ: Lib_ftp

Так подправьте, кто может, прошу! Такой проект заморозил!!!!
__________________
G502, GT S5230w user!
(Offline)
 
Ответить с цитированием
Старый 29.12.2011, 20:22   #8
Rock2roll
Знающий
 
Аватар для Rock2roll
 
Регистрация: 14.05.2010
Сообщений: 297
Написано 13 полезных сообщений
(для 13 пользователей)
Ответ: Lib_ftp

Компильните и выложите тут...пожалуйста
import javax.microedition.io.Connector;
import javax.microedition.io.SocketConnection;
import javax.microedition.io.StreamConnection;
import java.io.InputStream;
import java.io.OutputStream;
import java.lang.String;

class Lib_FTP {

private static SocketConnection c;
private static InputStream i;
private static OutputStream o;
private static String answer = "";
private static String flog   = "";

public static int socketopen(String url) {
// открыть socket соединение
  try{
    c = (SocketConnection) Connector.open(url);
    i = c.openInputStream();
    o = c.openOutputStream();
    return 0;
  }catch(Exception ex) {return -1;}
}

public static void socketclose() {
// закрыть socket соединение
  try{
    if(i != null) {i.close(); i=null;}
    if(o != null) {o.flush(); o.close(); o=null;}
    c.close();
  }catch(Exception ex) {}
  c=null;
}

public static int socketavailable() {
// возвращает количество байт в буфере приема
  try{
    if(i != null) return i.available();
  } catch(Exception ex) {}
  return 0;
}

public static int rbyte() {
// чтение байта из входного потока
  try{
    return i.read();
  }catch(Exception ex) {return -1;}
}

public static String rstr() {
// чтение строки байтов из входного потока
  StringBuffer buf = new StringBuffer();
  if(i != null) try{while (i.available() == 0);} catch(Exception ex) {}
  if(i != null) try{while (i.available() != 0) buf.append((char)i.read());} catch(Exception ex) {return "";}
  flog=flog+"<<"+buf.toString();
  return buf.toString();
}

public static int wstr(String s) {
// запись строки в выходной поток
  try{
    byte[] b = s.getBytes();
    o.write(b);
    o.flush();
    flog=flog+">>"+s;
    return 0;
  }catch(Exception ex) {return -1;}
}

///////////////////////////////////////////////////////////////

private static boolean check(String s,String ok,String msg) {
// проверяем код который вернул сервер.
  answer = msg+": "+s;
  if (s == null || !s.trim().startsWith(ok)) return false;
  return true;
}

public static String ftplog() {
// отдать накопившийся лог
  String s = flog;
  flog="";
  return s;
}

public static String ftpopen(String hostport, String login, String pass) {
// установить FTP-соединение
  flog = "";
  if (socketopen("socket://"+hostport) != 0) {flog="Error FTP connection: "+hostport; return flog;}
  if (!check(rstr(), "220", "server not answer")) return answer;
  wstr("USER " + login + (char)13 + (char)10);
  if (!check(rstr(), "331", "user-login")) return answer;
  wstr("PASS " + pass + (char)13 + (char)10);
  if (!check(rstr(), "230", "password")) return answer;
  return "OK";
}

public static void ftpclose() {
// закрыть FTP-соединение
  wstr("QUIT" + (char)13 + (char)10);
  socketclose();
}

public static String ftpsendstr(String fileName, String data) {
// передать файл на FTP
  SocketConnection dataSocket = null;
  OutputStream     dataStream = null;
  String[] params = {"","","","","",""};
  String url  = "";
  wstr("REST 0"+ (char)13 + (char)10);
  if (!check(rstr(), "350", "REST")) return answer;
  wstr("TYPE I" + (char)13 + (char)10);
  if (!check(rstr(), "200", "TYPE I")) return answer;
  wstr("PASV" + (char)13 + (char)10);
  if (!check(url= rstr(), "227", "PASV")) return answer;
  int n = 0;
  int endparams=url.indexOf(")");
  for (int i=url.indexOf("(")+1; i<endparams; i++) {
    if (url.charAt(i) != (char)44) {params[n] = params[n]+url.charAt(i);}
      else {n++;}
  }
  url="socket://"+params[0]+"."+params[1]+"."+params[2]+"."+params[3]+":"+Integer.toString(256*Integer.parseInt(params[4]) + Integer.parseInt(params[5]));
  flog=flog+"CONNECTING TO: "+url+(char)13 + (char)10;
  try{
    dataSocket = (SocketConnection) Connector.open(url);
    dataStream = dataSocket.openOutputStream();
  }catch(Exception ex) {}
  wstr("STOR " + fileName + (char)13 + (char)10);
  try{
    byte[] b = data.getBytes();
    dataStream.write(b);
    dataStream.flush();
  }catch(Exception ex) {}
  try{
    dataSocket.close();
    dataSocket = null;
    dataStream.close();
    dataStream = null;
  }catch(Exception ex) {}
  if (!check(rstr(), "226", "file transfer")) return answer;
  return "OK";
}

}
__________________
G502, GT S5230w user!
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +4, время: 15:19.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com