|
|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Renat Araslanow 2:5011/119 21 Jan 2001 08:24:40 To : All Subject : сокеты --------------------------------------------------------------------------------
хотелось интерактивный скрипт для общения с удалённым сервером. сразу скажу
ОС w2000 активперл 620
если выделенную ниже строчку закоментировать то скрипт нормально передаёт на
экран то что даёт сервер. если её оставить раскоментированной - скрипт
благополучно заканчивается /_=(_/
perlipc - читал - там пример того же но с форком - у меня не работает
как считавать stdin и передавать его на сервер? помогите плиз...
да, хотелось бы сделать не используя внешних модулей - хотя если это невозможно
- так и скажите. /_=(_/
#!/usr/bin/perl -w
#use strict;
use IO::Handle;
use IO::Socket;
use IO::Select;
$|=1;
my ($host, $port, $kidpid, $handle, $line,$sel);
unless (@ARGV == 2) { die "usage: $0 host port" }
($host, $port) = @ARGV;
# create a tcp connection to the specified host and port
$hand = IO::Socket::INET->new(Proto => "tcp",
PeerAddr => $host,
PeerPort => $port)
or die "can't connect to port $port on $host: $!";
$hand->autoflush(1); # so output gets there right away
$sel= new IO::Select( $hand );
print STDERR "[Connected to $host:$port]\n";
$in1=new IO::Handle;
> $in1->fdopen(fileno(STDIN),"r");
$sel->add($hand);
$sel->add($in1);
print $sel->count;
print "added\n";
while(@ready=$sel->can_read)
{
print "here we are!\n";
foreach $fh (@ready)
{
if($fh==$hand)
{
if (defined ($line=<$fh>))
{
print $line;
}
}
else
{
print "in else\n";
#Здесь хочй брать с STDIN и печатать в STDOUT
#но сюда не доходит
}
}
sleep(2);
}
#exit1:
undef $in1;
print "succesfully exiting!";
[TEAM Чайник с программным управлениемЪ]
[Преждевременная оптимизация -- корень всех зол Д. Кнут]
--- спасибо фиpме AMD за Celeron от фирмы intel :-)
* Origin: BBS in DEN! DOWN: 644-888 23-07 (2:5011/119)
Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/22793a6a4a08.html, оценка из 5, голосов 10
|