| Как пропатчить приложение запускаемое через inetd для определения IP клиента. | [исправить] | 
| Си:
   struct sockaddr_in addr_name;
   socklen_t addr_len;
   addr_len = sizeof(addr_name);
   bzero(&addr_name, sizeof(addr_name));
   if (getpeername(0, (struct sockaddr *)&addr_name, &addr_len) >= 0){                          
     // выводим адрес в printf через inet_ntoa(addr_name.sin_addr)
   } 
Perl:
   use Socket;
   my $std_sockaddr = getpeername(STDIN);
   my $cur_ipaddr = "0.0.0.0";
   if (defined $std_sockaddr){
      my ($tmp_port, $tmp_iaddr) = sockaddr_in($std_sockaddr);
      $cur_ipaddr = inet_ntoa($tmp_iaddr);
   }
 | 
|  | 
| 
 | 
10.01.2003
, Автор: uldus | | Раздел:    Корень / Программисту и web-разработчику / Perl / Полезные подпрограммы на Perl / Работа с сетью и IP адресами на Perl |