Модераторы: korob2001, ginnie

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Хочу сделать, но не знаю как 
:(
    Опции темы
Bulat
Дата 30.1.2008, 13:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


татарский Нео
***


Профиль
Группа: Завсегдатай
Сообщений: 1701
Регистрация: 22.3.2006
Где: Альметьевск

Репутация: 5
Всего: 57



Цитата(wolter @  29.1.2008,  13:13 Найти цитируемый пост)
1. Заходим в оприделенную папку(саму проверку на наличие нового файла делаем примерно каждые 5 минут)
2. смотрим если в ней появился новый фаил то


это один этап требующий изучения, довольно простой

Цитата(wolter @  29.1.2008,  13:13 Найти цитируемый пост)
3. Поверяем устоновленно соедиение через подем с инетом и если инет вообще


Цитата(wolter @  29.1.2008,  13:13 Найти цитируемый пост)
5. и отключаемся от инета (если он диалапный)
6. Если инета нет, то делаем подключение через модем и возврощяемся к 3 делаем до пункта 5


Очередной этап, более сложный

Цитата(wolter @  29.1.2008,  13:13 Найти цитируемый пост)
4. если да то берей этот фаил и выкладым в папку на www.mysite.com/obmen


Также отдельный этап, лично его я реализовывал с помощью протокла фтп, и если сам код программы писал, где-то сутки за полторы, но предварительное изучение фтп протокола всех его тонкостей, ньансов и комманд в конце концов, а также изучение методов модуля NEt::FTP, реализующих все эти команды, заняло у меня почти три недели smile В результате у меня довльно не плохая программа, позволяющая рассылать файлы на разные хосты(имена хостов, логины и пароли для доступа, имена файлов, пути на текущей машине и на удаленных хостах считываются из файлов), с полными провреками на коннект, наличие уже существующих файл с подобными именами, проверка на правельно указанные пути размещения файлов на удаленных хостах(существование директорий на указанных серверах) и т.п. Я могу тебе скинуть эту программу, но боюсь у тебя вопросов будет еще больше smile



--------------------
менеджер по кодеврайтингу  smile 
PM MAIL WWW   Вверх
PanamOS
Дата 30.1.2008, 14:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 54
Регистрация: 29.1.2008

Репутация: нет
Всего: нет



Для реализации сетевого подключения информацию можно поискать здесь.
К перлу конечно относиться мало, но полезное узнать можно, а exec()/system() никто не отменял.
По поводу контроля свежести файлов реализацию вроде привел KSURi и даже подсказал в каком направлении копать  smile 
PM MAIL   Вверх
KSURi
Дата 30.1.2008, 15:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 887
Регистрация: 8.6.2006
Где: Russia

Репутация: 20
Всего: 27



Цитата(wolter @  30.1.2008,  10:34 Найти цитируемый пост)
И где мне найти библиотеку rasapi.dll
на копе, в стандартной поставке винды у меня ее нет

Если бы ее не было, вы бы не смогли устанавливать подключение к интернету через диалап. Находится она в недрах %WINDIR%\system32 скорее всего.

Цитата(wolter @  30.1.2008,  11:08 Найти цитируемый пост)
Попробовал вот такой код для дозвона
Код

  use Win32::API;
  $function = Win32::API->new(
      'rasapi.dll', 'sum_integers', 'II', 'I',
  );
  $return = $function->Call(3, 2);

Ну не удивительно) Вам надо импортировать ф-ии, которые были указаны в моем предыдущем посте. Описание их можно найти в заголовке rasapi.h, которого у вас действительно может не быть в стандартной поставке Windows. Однако, найти его на просторах Интернета не составит труда. Здесь вам поможет MSDN. WinAPI, на мой взгляд, придется использовать только для установки подключения к Интернет, о проверке наличие активного соединения читайте ниже.

Цитата(wolter @  30.1.2008,  10:34 Найти цитируемый пост)
Можно подробнее об этом коде
Код

use LWP::Simple;
print 'Connected to Internet' if head 'http://www.ru';

Можно: в первой строке подключается модуль LWP::Simple, во второй строке используются две ф-ии из него: is_succeshead. Если коротко, то мы просто пытаемся сделать запрос методом HEAD к серверу корневого домена RU зоны интернета, который доступен в 99.99% (естественно при наличии соединения с Интернет). Подробное описание ф-ии модуля LWP::Simple можно найти в одноименном разделе perldoc.

Добавлено @ 15:48
Ага, с WinAPI я пожалуй немного погорячился. Упоминание товарища PanamOS о ф-ях execи system вернуло меня на место) Я совершенно забыл о стандартной Windows команде rasdial.
Код

C:\>rasdial /?
Использование:
        rasdial элемент [пользователь [пароль|*]] [/DOMAIN:домен]
                [/PHONE:номерТелефона] [/CALLBACK:ответныйНомер]
                [/PHONEBOOK:файлАдреснойКниги] [/PREFIXSUFFIX]

        rasdial [элемент] /DISCONNECT

        rasdial

        Сведения о соблюдении конфиденциальности см. на веб-узле
        "http://go.microsoft.com/fwlink/?LinkId=34493"


C:\>

Вот что вам поможет)

Это сообщение отредактировал(а) KSURi - 30.1.2008, 18:46


--------------------
Died at Life.pl line 21
PM Jabber   Вверх
wolter
Дата 30.1.2008, 20:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 129
Регистрация: 28.1.2008

Репутация: нет
Всего: нет



KSURi, Огромное спасибо!!!!! это просто супер ))
Теперь возник другой вопрос как это заставить работать из перла и чтобы от отслеживал дозвонился модем или нет?

С этим разобрался
Код

use LWP::Simple;
print 'Connected to Internet' if head 'http://www.ru';

огромное спасибо за пояснение, сразу стало все понятно что и как )

Сего файла у меня действительно намише нету rasapi.dll, пробовал его найти через стандартный поиск, файлом с таким иминем нету, но я скачал его с нета, так что теперь он уже есть )


Цитата

Вам надо импортировать ф-ии, которые были указаны в моем предыдущем посте. Описание их можно найти в заголовке rasapi.h

Что такое ф-ии
И что за заголовок rasapi.h
??

Это сообщение отредактировал(а) wolter - 30.1.2008, 20:21
PM MAIL   Вверх
KSURi
Дата 31.1.2008, 00:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 887
Регистрация: 8.6.2006
Где: Russia

Репутация: 20
Всего: 27



Цитата(wolter @  30.1.2008,  20:10 Найти цитируемый пост)
Что такое ф-ии

Нуу... Эээ... Даже не знаю, что вам ответить)


Цитата(wolter @  30.1.2008,  20:10 Найти цитируемый пост)
И что за заголовок rasapi.h

Это заголовок (header), в котором описаны прототипы ф-ий, которые в свою очередь хранятся в одноименной библиотеке. Все это уже относится к так называемому Windows API. Который кстати вам уже не нужен, т.к. были предложены альтернативные методы. Если хотите разбираться чисто в познавательных целях - гугель вам в помощь.


--------------------
Died at Life.pl line 21
PM Jabber   Вверх
wolter
Дата 31.1.2008, 08:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 129
Регистрация: 28.1.2008

Репутация: нет
Всего: нет



Цитата(KSURi @ 31.1.2008,  00:57)
Цитата(wolter @  30.1.2008,  20:10 Найти цитируемый пост)
Что такое ф-ии

Нуу... Эээ... Даже не знаю, что вам ответить)


Цитата(wolter @  30.1.2008,  20:10 Найти цитируемый пост)
И что за заголовок rasapi.h

Это заголовок (header), в котором описаны прототипы ф-ий, которые в свою очередь хранятся в одноименной библиотеке. Все это уже относится к так называемому Windows API. Который кстати вам уже не нужен, т.к. были предложены альтернативные методы. Если хотите разбираться чисто в познавательных целях - гугель вам в помощь.

Ну неужели нельзя было что ф-ии это сокрощение от функции

PM MAIL   Вверх
wolter
Дата 31.1.2008, 12:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 129
Регистрация: 28.1.2008

Репутация: нет
Всего: нет



неужели никто не может привести пример работы перл скрипта с дозвоном по модему?? smile  smile  smile 
PM MAIL   Вверх
GeoGeo
Дата 31.1.2008, 19:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 20
Регистрация: 26.1.2008

Репутация: нет
Всего: нет



Имхо, надо настроить систему , чтоб при попытке соединения с ФТП модем звонил провайдеру , а при простое ,допустим в две минуты , разрывал его .
PM MAIL   Вверх
wolter
Дата 1.2.2008, 11:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 129
Регистрация: 28.1.2008

Репутация: нет
Всего: нет



Пока реализовал таким путем
Код


$function = `rasdial "inet" "optima" "optima"`;
print $function;



тоесть тупо используем настоенное под виндоей диалап соединение
Перл его запускает и модем начинает работать
Теперь есть новая проблемма
Как обробатать ответные данные от модема ибо пишет он их на кириле и вот в таком формате
Код

Установка связи с INET...
Проверка имени и пароля пользователя...
Регистрация компьютера в сети...
Установлена связь с INET.
Команда успешно завершена.

Вот это он выдает все и сразу
это вориант удочного соединения
Как мне обработать выходные данные??
 smile 
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Perl"
korob2001
sharq
  • В этом разделе обсуждаются общие вопросы по языку Perl
  • Если ваш вопрос относится к системному программированию, задавайте его здесь
  • Если ваш вопрос относится к CGI программированию, задавайте его здесь
  • Интерпретатор Perl можно скачать здесь ActiveState, O'REILLY, The source for Perl
  • Справочное руководство "Установка perl-модулей", можно скачать здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Perl: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1036 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.