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


ru.perl

 
 - RU.PERL ----------------------------------------------------------------------
 From : Sergey Gernichenko                   2:5079/32.34   11 Apr 2001  16:43:03
 To : All
 Subject : Сокеты и fork()
 -------------------------------------------------------------------------------- 
 
 
 Помогите, плиз, разобраться... понять не могу... почему не работает
 
 === Hачало Windows Clipboard ===
 #!/usr/bin/perl
 use strict;
 use IO::Socket;
 my ($host, $port, $kidpid, $handle, $line);
 unless (@ARGV == 2 ) {die "usage: $0 host port" }
 ($host, $port) = @ARGV;
 $handle=IO::Socket::INET->new(Proto => "tcp",
 PeerAddr => $host,
 PeerPort => $port)
 or die "can't connect to port $port on $host: $!";
 $handle->autoflush(1); # и результат сразу же попадает туда
 print STDERR "[Connected to $host:$port]\n";
 #die "can't fork: $!" unless defined
 $kidpid = fork();
 print STDERR "Kidpid=$kidpid\n";
 if($kidpid)
 {
 print STDERR "[I am parent]\n";
 while (defined ($line = <$handle> )) { print STDOUT $line;}
 print STDERR "[I am parent]:Sending kill Signal\n";
 kill ("TERM",$kidpid); # послать в порожденный процесс сигнал SIGTERM
 }
 else
 {
 print STDERR "[I am son]\n";
 while (defined ($line = <STDIN>)) { print $handle $line;}
 }
 === Конец Windows Clipboard ===
 
 В общем, это пример из книжки в эл. виде.
 по идее это что-то вроде телнет клиента.
 короче, когда коннекчусь к смтп серверу, коннект проходит, приглашение получаю и
 вижу его... ввожу команду helo fff, жму Enter и все виснет
 
 Если коннекчусь к локальному листенеру портов, то обнаруживаю, что вводимые
 данные передаются после прерывания скрипта (закрытия соединения)
 Как сделать, чтобы эти данные передавались сразу?
 
 Кстати, это так и должно, что fork() возвращает отрицательное значение??
 Чуть не забыл, Active Perl 5.6, Win NT4.0 Rus.
 С уважением Сергей.
 
 --- GoldED+/W32 1.1.4.7
  * Origin: Всё идет хорошо. Только мимо (c) (2:5079/32.34)
 
 

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

 Тема:    Автор:    Дата:  
 Сокеты и fork()   Sergey Gernichenko   11 Apr 2001 16:43:03 
 Re: Сокеты и fork()   Artem Chuprina   12 Apr 2001 20:53:57 
 Re: Сокеты и fork()   Sergey Gernichenko   13 Apr 2001 18:41:12 
 Re: Сокеты и fork()   Artem Chuprina   16 Apr 2001 12:58:36 
Архивное /ru.perl/33483ad45f61.html, оценка 1 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional