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


ru.perl

 
 - RU.PERL ----------------------------------------------------------------------
 From : ‘ҐаЈҐ© ‹ аЁ®­®ў                      2:5020/400     16 Jul 2004  06:10:55
 To : Dmitry Antonov
 Subject : Re: поиск сервера
 -------------------------------------------------------------------------------- 
 
 
 "Dmitry Antonov" <Dmitry.Antonov@p12.f33.n5014.z2.fidonet.org>
 сообщил/сообщила в новостях следующее:
 news:1089891953@p12.f33.n5014.z2.fidonet.ftn...
 
 > Ты хочешь сказать что если в connect`е в качестве адpеса yказать
 
 broadcast, то
 
 > всё бyдет OK. Что-то y меня такой ваpиант не пpокатывает.
 
 Кроме этого надо разрешить сокету работать в широковещательном режиме.
 Вот кусок из моей программы :
 
  # Открываем сокет
 
 my ($sock, $server_host,$server_port, $ipaddr, $hishost, $response,
  $MAXLEN, $TIMEOUT);
 
  $MAXLEN = 1500;
  $TIMEOUT = 1;
  $server_port = 161;
  $server_host = INADDR_BROADCAST();
  $sock = IO::Socket::INET->new(Proto => 'udp', Reuse => 1)
   or die "Creating Socket : $!\n";
 
  # Разрешаем широковещательную передачу
  $sock->sockopt(SO_BROADCAST, 1) or die "sockopt : $!\n";
 
 my $readable = IO::Select->new() # Объект для выборки готовых сокетов
   or die "Creating Select oject : $!\n";
  $readable->add($sock);
 
  # Отправляем сообщение
 my $sin_out = sockaddr_in($server_port, $server_host );
  $sock->send($session->{'_buffer'}, 0, $sin_out) or die "Send : $!\n";
 
 # Принимаем ответные сообщения
 my ($StartTime, $Count, $hispaddr, $port, $hisiaddr, $new_msg, $host);
 my @ready;
 
  $StartTime = time();
 
  # Цикл ожидания ответов - 8 секунд
  while (time() < $StartTime + 8) {
   # Ожидаем сообщение
   @ready = $readable->can_read($TIMEOUT);
   foreach my $s ( @ready ) {
    # Читаем поступившее сообщение
    ($hispaddr = $s->recv($new_msg, $MAXLEN) )|| die "recv: $!";
 
 Дальше, в цикле, обрабатываешь сообщение и берешь следующее..
 
 Удачи!
 
 Сергей Ларионов
 --- ifmail v.2.15dev5.3
  * Origin: Tomsktelecom - Digital Networks (2:5020/400)
 
 

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

 Тема:    Автор:    Дата:  
 поиск сервера   Dmitry Antonov   15 Jul 2004 11:29:56 
 Re: поиск сервера   Artem Chuprina   15 Jul 2004 14:09:04 
 поиск сервера   Dmitry Antonov   15 Jul 2004 15:42:10 
 Re: поиск сервера   ‘ҐаЈҐ© ‹ аЁ®­®ў   16 Jul 2004 06:10:55 
 поиск сервера   Dmitry Antonov   16 Jul 2004 20:48:26 
 Re: поиск сервера   ‘ҐаЈҐ© ‹ аЁ®­®ў   17 Jul 2004 07:58:54 
Архивное /ru.perl/122326dce0b94.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional