Главная страница


ru.perl

 
 - RU.PERL ----------------------------------------------------------------------
 From : 1Eugene Lototsky                     2:5020/400     18 Nov 2002  23:41:22
 To : All
 Subject : Сокеты
 -------------------------------------------------------------------------------- 
 
 Как услышать, что говорит демон? Что не так?
 Есть 2 скрипта: демон и клиент. Демон работает от рута и слушает обычного
 клиента через сокет:
 
 === демон ===
 $sockname='/tmp/control.sock';
 socket    sock, AF_UNIX, SOCK_STREAM, 0;
 socket newsock, AF_UNIX, SOCK_STREAM, 0;
 unlink ($sockname); #killing file if exists
 $sun = sockaddr_un($sockname);
 bind sock, $sun || die "bind";
 chmod 0666, $sockname;
 listen sock, 1;
 while (1) {
     print "deamon running...\n";
     accept newsock, sock;
     recv newsock, $data, 500, 0;
     ($host,$action) = split (';', $data);
     if ($action eq "start") {
         $output = start_firewall($host);
     } elsif ($action eq "stop") {
         $output = stop_firewall($host);
     }
     print sock $output;
 }
 ============
 
 Клиент, передав информацию демону, должен забрать от него ответ.
 
 === клиент ===
     my $sockname='/tmp/control.sock';
     socket sock, AF_UNIX, SOCK_STREAM, 0;
     $sun = sockaddr_un ($sockname);
     connect sock, $sun || die "bad socket";
 
     send sock, $hostact, 0;
 
     while (chomp ($msg=<>)){
         print "Server $hishost responded ``$msg''\n";
     }
     shutdown sock, SHUT_RDWR;
 ============
 --- ifmail v.2.15dev5
  * Origin: Unitrade Pro (2:5020/400)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 Сокеты   1Eugene Lototsky   18 Nov 2002 23:41:22 
 Re: Сокеты   Artem Chuprina   19 Nov 2002 16:54:50 
 Re: Сокеты   1Eugene Lototsky   21 Nov 2002 14:19:32 
 Re: Сокеты   Artem Chuprina   21 Nov 2002 15:38:38 
 Re: Сокеты   1Eugene Lototsky   21 Nov 2002 14:27:17 
Архивное /ru.perl/134275d5d8402.html, оценка 1 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional