|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Dmitry Liakh 2:5020/400 06 Jul 2001 15:11:39 To : All Subject : Торможу? -------------------------------------------------------------------------------- Здравствуйте многоуважаемый All! Hе подскажете где я натормозил, пытаясь поговорить с сендмылом таким образом (не пинайте сильно, бо с сокетами только знакомлюсь) --------------------[scipped]-------------------- use strict; use IO::Socket; use Sys::Hostname; my $EOL = "\15\12"; &main(); sub main(){my $sock = new IO::Socket::INET(PeerAddr => $RELAY, PeerPort => 'smtp') || die "Couldn't open socket. Reason: $!"; $sock->autoflush(1); while(<$sock>){print}; print $sock "HELO", hostname(), $EOL; while(<$sock>){print}; print $sock "QUIT", $EOL; while(<$sock>){print}; }; --------------------[/scipped]------------------- после запуска успевает написать 220 unix1.local ESMTP Sendmail 8.11.4/8.11.4; Fri, 6 Jul 2001 13:43:47 +0300 (EEST) и после этого блокируется на 'print $sock "HELO", hostname(), $EOL;'. Если сразу после коннекта, не слушая что скажет сендмейл отправить в сокет HELO hostname() то видно, что он отвечает 250 unix1.local Hello dima@localhost.local [127.0.0.1], pleased to meet you но при следующей попытке что-то ему отправить - скрипт блокируется (в выводе ps(1) его состояние I+) Читал, что для этого дела юзают IO::Select, но из примерчика в perldoc perlipc (называется 'A Webget Client') следует, что должно работать и так. -- WBR Dmitry --- ifmail v.2.15dev5 * Origin: Hansa (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/17301e2cd1168.html, оценка из 5, голосов 10
|