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


ru.perl

 
 - RU.PERL ----------------------------------------------------------------------
 From : Yuriy Kaminskiy                      2:5020/517.21  19 Nov 2001  03:11:18
 To : Alexander Lunkov
 Subject : Re: В чём трабла?
 -------------------------------------------------------------------------------- 
 
 
 >>>>> On 21:55 16/11/2001, Alexander Lunkov <2:5055/201.26> writes:
  AL> use Socket qw(AF_INET SOCK_STREAM inet_aton sockaddr_in);
 
  AL> $host = 'localhost'; $port = 80; $buf="";
 
  AL> $ip_addr = inet_aton $host or die "unknown remote host: $host\n";
  AL> socket $self, AF_INET, SOCK_STREAM, 0 or die "problem creating
  AL> socket: $!\n"; connect $self, sockaddr_in($port, $ip_addr) or die
  AL> "problem connecting to \"$host\", port $port: $!\n"; print $self
  AL> "GET /Z HTTP/1.0\n";
 
  AL> #вот до сюда всё ок! зависает на включенном select или read, если
  AL> select выкл.
 
  Hу. А ты как хотел? Сервер ждет второго \n, ты ждешь ответа
 сервера. Hормальный такой deadlock :)
  И еще полезно после print сказать
  use IO::Handle; 
  $socket->flush();
 
  AL> #select($self);
 
  Эта, perldoc -f select до осознания разницы между select($handle) и
  select($rdmask,$wrmask,$exmask,$timeout).
 [BTW, и обрати особое внимание - select-с-четырьмя-аргументами
 _несовместим_ с print/read/<> - с ним можно использовать только
 sysread/syswrite!]
 
  AL> read $self, $buf, 5; print $buf; close;
  AL> зыж только что попробовал: если вместо read $self, $buf, 5;
  AL> написать accept $self, $buf;, то вылезает: accept() on unopened
  AL> socket at 4.pl line 17.
 
  Разумеется. accept и должен ругаться на любой сокет, который не был
 bound by bind(2), and listening for connection after listen(2).
  man 2 accept bind listen connect до просветления.
 
  AL> К line 17 не придирайтесь, т.к. в запускаемом скрипте есть
  AL> комментарии.
 
 -- 
 Yuriy Kaminskiy.
 --- Gnus v5.2.25/XEmacs 19.14
  * Origin: none (2:5020/517.21@fidonet)
 
 

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

 Тема:    Автор:    Дата:  
 В чём трабла?   Alexander Lunkov   16 Nov 2001 22:55:44 
 Re: В чём трабла?   Yuriy Kaminskiy   19 Nov 2001 03:11:18 
Архивное /ru.perl/174270004d5ab.html, оценка 1 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional