Виды программирования, программирование, языки программирования, книги программирование На сайте представлена информация про программирование в Интернете и работу  

Дайте Джаве свободу!, Открытое письмо в Sun (Компьютерра)
javax.swing.JList, Помогите составить модель... :(
java.util.LinkedList() сортировка...
Вопрос не в тему
Диалоговое окно в середине программы
Help regexp в Jave, Мне нада не вогруг а внутри выражения
JBOSS, проблемы с установкой....
Очистка поля при повторном вызове диалогового окна
Получить значение любой системной переменной ОС
Apache1.3+Tomcat324 через mod_jk Ajp13, Apache1.3+Tomcat324 через mod_jk Ajp13
По поводу wait(), notify(), вопрос
RMI
проблема с jsdk1.5 + IntelliJIDE
Перспективные разработки от Sun на Java, Компьюлента: кадр дня
C# это Java?, MS списал у Sun?
Как Вы относитесь к курящим девушкам?
Прежде чем задать вопрос, прочтите это!
Документация и книги по Java, Давайте соберём ссылки
работа с таймером..., реализация таймаутов чтения/записи в сок
Таймер Событие
срочно нужен JDBC драйвер для DBF, поделитесь если у кого-нить есть
BeanBox
Парсинг русского XML, Кодировка
Java Cards, поиск
Сгенерировать системное событие.., желательно без JNI..
Проблема с Cloneable
getCmpStatus -> setCmpStatus, Где я мог ошибиться?
Как присвоить каждое сообытие свою иконку в jTree
Установка JBuilder5, Не могу установить: ошибка
JVM ругается на ntdll
Строка инициализации для конт. меню в дереве
Обмен данными между приложениями
Что такое Ant и зачем он нужен?, не разу не нужен был, просто интересно
Модальное окно.., как?..
Файлы .jar
.NET vs Java: Что перспективнее для web-разработок
Forte, Вопрос по editor-у
JCheckBox, vopros
Формат типа double для Java, не совпадает с форматом double в Pascalе
Крестики-нолики, Развлечение для javaпрограммеров
Какая среда разработки для...
Как изменить элементы в JComboBox
В чем плюсы Java 2 ?
java-xml-dtd, java-xml-dtd
Зашифровать строку, RSA
Где можно почитать о регулярных выражениях?
Ftp Client
Скрытие IP-адресса
Как обойти такую проблему?, Проверка и автопереход курсора
overrideRedirect, что за зверь?
Классы в разных файлах или в одном?
Вызов метода объекта из вложенного объекта
Универсальный клиент., Помогите советом.
MouseListener, Запутался в событиях
Можно ли создать картинку на основе потока?
Установка ASE12.5 проблема с JRE во время установ
Проблемы с Tomcat
Новые технологии в Java
Инсталяция Ant
Очистка поля в диалоговом окне!
запрет вставки в качестве первого символа '0'
Остановить поток
Остановка потока
Как Вы относитесь к курящим девушкам?
Прежде чем задать вопрос, прочтите это!
Документация и книги по Java, Давайте соберём ссылки
Что содержат файлы .ipr and .iml?, В IDEA
JNode операционная система на Java!, еще одна попытка
Свойства Button
Как обновить дерево (jTree)?

Платные хостинги     Раскрутка сайта     Книги по программированию


Ftp Client

Только здесь 1000 посетителей на Ваш сайт всего за 3 у.е.!

- Подскажите пожлуйста как правильно делается такая вещь :есть у меня класс Ftp я хочу сделать методы isAlive() и itemList()я в другов класе проверяю ftp host на живучесть а потом есть ли он живой получаю список его ресурсов моя проблема состоит в том что в метод isAlive у меня boolean и возвращает true если живой и false если не живой соответственно тоесть получается такой код Код public boolean isAlive(String h, String u, String p){        host = h;        user = u;        password = p;        try {            FtpClient client = new FtpClient();            client.openServer(host);            client.login(user, password);            client.closeServer();            return true;        } catch (IOException e) {            return false;        }}public Stringbuffer itemList(String h, String u, String p){        host = h;        user = u;        password = p;        StringBuffer buf = new StringBuffer();        buff = null;        int ch;        try {            FtpClient client = new FtpClient();            client.openServer(host);            client.login(user, password);            client.ascii();            TelnetInputStream tos = client.list();            while((ch = tos.read()) >= 0)                buf.append((char)ch);            tos.close();            client.closeServer();            return buff;        } catch (IOException e) {            return buff;        }}highlightSyntax('javaQzN2Yw','java');тут в каждом методе открывается соединение с сервером а мне хочется чтобы это происходило один раз т.е как-то так Код открыли соединение если живой то получаем лист если нет то возвращаем false highlightSyntax('javaU5NjI1N','java');

- Так во-первых надо сделать эти методы у самого ftp-клиента. Он же наверняка какой-то коннект внутри себя хранит.Может для проверки жив ли клиент посылать какую-нибудь невинную команду типа pwd ?Т.е. ftp-клиент само собой при первом открытии реально открывает коннект. Но вот потом для проверки жив ли сервер просто посылает туда что-то простое и если ответ есть, то сервер жив, если же нет - на нет и суда нет.А для хранения открытых (проверенных недавно) серверов хранить некий пул ftp-клиентов.Понимаю, что может появится больше вопросов, чем ответов, но что-то ничего более приличного в голову пока не приходит.

- Спасибо большое ! (пока вопросов нет )буду думать !

- сделал точно как Вы сказали все получилось а что Вы имеете ввиду под пулом ? локальную базу адресов ?

- Пулом называют коллекцию (список, массив) объектов соединений, постоянно открытых и при необходимости программа может получить одно из соединений. При таком подходе экономяться ресурсы на создание соединения, что в свою очередь повышает быстродействие.Пул обычно организовывают как класс со статическими методами, обращаясь к которым можно в любой момент времени получить готовое соединение.

- Спасибо !буду думать как это сделать

- а нет ли у Вас ссылочки с примером как такие пулы реализовывать ?

- Насчет ссылочки не знаю, но могу предложить сделанный "на скорую руку" классикКод class Pool {  protected static TreeMap connections = null;  public static FtpClient getFtpClient(String host, String user, String password) {    FtpClient client = null;    if (connections == null) {      connections = new TreeMap();      client = new FtpClient();      client.openServer(host);      client.login(user, password);      connections.put(host, client);    } else {      FtpClient client = (FtpClient)connections.get(host);      if (client == null) {        client = new FtpClient();        client.openServer(host);        client.login(user, password);        connections.put(host, client);      }    }    return client;  }}highlightSyntax('javaWYwNWU','java');Здесь мы имеем коллекцию FTP-соединений, хранящихся в статической переменной connections и метод getFtpClient, который нам возвращает соединение. Тут надо еще продумать грамотную работу с синхронизацией доступа к пулу а также уничтожение соединений, но основная идея думаю понятна.P.S. Компилировать класс не пробовал, так что возможны ошибки. Тут главное идею понять, реализацию можешь по-своемому сделать.

- Спасибо огромное за пример и разъяснение !попробую у себя сделать.

Интернет казино     Онлайн игры     Увеличение члена     Купить DVD


Главная страница | программирование 1с предприятие | язык программирования pascal | виды программирования | программирование процессоров | язык программирования 1с | программирование assembler | методология программирования | прикладное программирование | программирование turbo pascal | парадигмы программирования | удаленная программирование | программирование управления | справочник программирования | задачи математическому программированию | методики программирования | программирование outlook | компьютерное программирование | программирование деревья | высокоуровневое программирование | программирование delphi скачать | программирование сигнализации | теория языков программирования | программирование микропроцессоров | обоснование языка программирования | программирование win32 | Ссылки

Все про программирование управления