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


ru.perl

 
 - RU.PERL ----------------------------------------------------------------------
 From : Artem Chuprina                       2:5020/400     12 Apr 2001  20:53:57
 To : Sergey Gernichenko
 Subject : Re: Сокеты и fork()
 -------------------------------------------------------------------------------- 
 
 Здравствуй, Sergey Gernichenko.
 
 В твоём письме от Wed, 11 Apr 2001 15:43:03 +0400 написано:
 
 SG>            Рад приветствовать тебя, All!
 
 SG> Помогите, плиз, разобраться... понять не могу... почему не работает
 
 SG> === Hачало Windows Clipboard ===
 SG> #!/usr/bin/perl
 SG> use strict;
 SG> use IO::Socket;
 SG> my ($host, $port, $kidpid, $handle, $line);
 SG> unless (@ARGV == 2 ) {die "usage: $0 host port" }
 SG> ($host, $port) = @ARGV;
 
 $handle=IO::Socket::INET->>new(Proto => "tcp",
 
 SG> PeerAddr => $host,
 SG> PeerPort => $port)
 SG> or die "can't connect to port $port on $host: $!";
 
 $handle->>autoflush(1); # и результат сразу же попадает туда
 
 SG> print STDERR "[Connected to $host:$port]\n";
 SG> #die "can't fork: $!" unless defined
 SG> $kidpid = fork();
 SG> print STDERR "Kidpid=$kidpid\n";
 SG> if($kidpid)
 SG> {
 SG> print STDERR "[I am parent]\n";
 SG> while (defined ($line = <$handle> )) { print STDOUT $line;}
 SG> print STDERR "[I am parent]:Sending kill Signal\n";
 SG> kill ("TERM",$kidpid); # послать в порожденный процесс сигнал SIGTERM
 SG> }
 SG> else
 SG> {
 SG> print STDERR "[I am son]\n";
 SG> while (defined ($line = <STDIN>)) { print $handle $line;}
 SG> }
 SG> === Конец Windows Clipboard ===
 
 SG> В общем, это пример из книжки в эл. виде.
 SG> по идее это что-то вроде телнет клиента.
 SG> короче, когда коннекчусь к смтп серверу, коннект проходит, приглашение
 SG> получаю и вижу его... ввожу команду helo fff, жму Enter и все виснет
 
 SG> Если коннекчусь к локальному листенеру портов, то обнаруживаю, что вводимые
 SG> данные передаются после прерывания скрипта (закрытия соединения)
 SG> Как сделать, чтобы эти данные передавались сразу?
 
 flush?
 
 SG> Кстати, это так и должно, что fork() возвращает отрицательное значение??
 SG> Чуть не забыл, Active Perl 5.6, Win NT4.0 Rus.
 
 Так он же эмулируется...
 
 -- 
 Artem Chuprina                            E-mail: ran@ran.pp.ru
 Programmer                                  FIDO: 2:5020/371.32
 Memonet Ltd.                             Phone: +7-095-284-1356
 --- ifmail v.2.15dev5
  * Origin: NTV Internet (2:5020/400)
 
 

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

 Тема:    Автор:    Дата:  
 Сокеты и 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/164830b1683f1.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional