LINUX.ORG.RU

Проблемка с inetd и скриптом на Perl, работающего в качестве запускаемого первым сервера.


0

0

Помогите пожалуйста с такой вот роблемой: Нужно написать серверную часть некой программы, работающую из под inetd. В качестве начала и теста написал такой скриптик: #!/usr/bin/perl while ( $line = <> ) { $line =~ s/\n//; print("I've received: $line\n"); } Он почему-то не работает, а вот такой вариант работает без проблем: #!/usr/bin/perl $line = <>; $line =~ s/\n//; print("I've received: $line\n"); И вот такой тоже(но он не подходит тк надо запускать по требованию): #!/usr/bin/perl use IO::Socket; $sk_srv = IO::Socket::INET->new(LocalPort => 666, Type => SOCK_STREAM, Reuse => 1, Listen => 10) or die "Error creation socket: $@\n"; while ( $sk_cl = sk_srv->accept() ) { while ( $line = <$sk_cl> ) { $line =~ s/\n//; print($sk_cl "I've received: $line\n"); } } Пытался порыться в исходниках от ipop3d но ничего особенного не нашел(может млохо смотрел). По идее ведь должно работать или я не прав? Может кто сталкивался с такой проблемой. Напишите пожалуйста буду очень благодарен.


Re: Проблемка с inetd и скриптом на Perl, работающего в качестве запускаемого первым сервера.

убери буферизацию ввода/вывода и все заработает
$|=1;

Z0termaNN ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.