The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Помогите, пожалуйста, со скриптом!"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы OpenNET: Виртуальная конференция (Public)
Изначальное сообщение [ Отслеживать ]

"Помогите, пожалуйста, со скриптом!"  +/
Сообщение от Gaudeamus email on 09-Янв-10, 20:04 
Установил сервер FreeBSD 8.0, из портов поставил apache-2.2.13 и perl-5.8.9_3, запустил скрипт. Никак не могу понять, почему вылезает ошибка Address family not supported by protocol family при работе с sockets? Помогите, пожалуйста, с ног сбился.
Данный скрипт нормально работает на виртуальном хосте (hoster.ru) на FreeBSD.

#!/usr/bin/perl -w

    $| = 1;

    my $smtp = 'smtp.mail.ru';
    my $dns = '95.169.190.199';

    print "Content-type: text/plain; charset=windows-1251\n\n" if $ENV{HTTP_USER_AGENT};

    print "System info\n";
    print "-----------\n\n";
    print "$^O";
    print "\n", `uname -a` if $^O !~ /win/i;
    print "\n\n";

    print "Perl modules\n";
    print "------------\n\n";
    print "strict .......................... ";
    unless (eval ("use strict; return 1;")) { print "Error"; } else { print "Ok"; }
    print "\nSys::Hostname ................... ";
    unless (eval ("use Sys::Hostname; return 1;")) { print "Error"; } else { print "Ok"; }
    print "\nPOSIX ........................... ";
    unless (eval ("use POSIX qw(setsid); return 1;")) { print "Error"; } else { print "Ok"; }
    print "\nErrno ........................... ";
    unless (eval ("use Errno qw(EINPROGRESS); return 1;")) { print "Error"; } else { print "Ok"; }
    print "\nIO::Socket ...................... ";
    unless (eval ("use IO::Socket qw(:DEFAULT :crlf); return 1;")) { print "Error"; } else { use IO::Socket qw(:DEFAULT :crlf); print "Ok"; }
    print "\nIO::Select ...................... ";
    unless (eval ("use IO::Select; return 1;")) { print "Error"; } else { print "Ok"; }
    print "\n\n";

    print "Local server test\n";
    print "-----------\n\n";
    my $s = IO::Socket::INET->new(Proto => "tcp", LocalPort => 36000, Listen => SOMAXCONN, Reuse => 1);
    unless ($s) { print "Error"; } else { close $s; print "Ok"; }
    print "\n\n";

    print "DNS client test ($dns)\n";
    print "-----------\n\n";
    my $r = (gethostbyname $dns)[4];
    unless ($r) { print "Error > Can't resolve DNS hostname"; exit; }
    $s = IO::Socket::INET->new(Proto => "tcp", Type => SOCK_STREAM);
    unless ($s) { print "Error > Can't create socket > $!"; exit; }
    unless ($s->connect(pack ("Sna4x8", 2, 53, $r))) { close $s; print "Error > Can't connect > $!"; }
    close $s;
    print "\n\n";

    print "SMTP Client test ($smtp)\n";
    print "-----------\n\n";
    $r = (gethostbyname $smtp)[4];
    unless ($r) { print "Error > Can't resolve SMTP hostname"; exit; }
    $s = IO::Socket::INET->new(Proto => "tcp", Type => SOCK_STREAM);
    unless ($s) { print "Error > Can't create socket > $!"; exit; }
    unless ($s->connect(pack ("Sna4x8", 2, 25, $r))) { close $s; print "Error > Can't connect > $!"; exit }
    $r = <$s>; close $s;
    if (length $r) { print "Ok\n$r"; } else { print "Error > Can't read response"; }

Высказать мнение | Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Помогите, пожалуйста, со скриптом!"  +/
Сообщение от ALex_hha (ok) on 09-Янв-10, 22:09 
# pkg_info | grep -i socket

?

А при чем тут апач или ты используешь mod_perl?

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

2. "Помогите, пожалуйста, со скриптом!"  +/
Сообщение от Gaudeamus email on 10-Янв-10, 00:23 
># pkg_info | grep -i socket
>
>?
>
>А при чем тут апач или ты используешь mod_perl?

Да, я использую мод перл, а апач крутит все это...

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

3. "Помогите, пожалуйста, со скриптом!"  +/
Сообщение от Gaudeamus email on 10-Янв-10, 00:24 
># pkg_info | grep -i socket
>
>?
>
>А при чем тут апач или ты используешь mod_perl?

сокет пакетов не установлено.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

4. "Помогите, пожалуйста, со скриптом!"  +/
Сообщение от ALex_hha (ok) on 10-Янв-10, 23:05 
>># pkg_info | grep -i socket
>>
>>?
>>
>>А при чем тут апач или ты используешь mod_perl?
>
>сокет пакетов не установлено.

и?

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру