|
|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Mihail Badin 2:5020/400 10 Jan 2003 00:42:57 To : All Subject : порт редиректор на PERLе --------------------------------------------------------------------------------
Привет All
вот решил сделать редиректор портов
быстенько написал програмку а оно не работает :(
из доков ( perlipc , perlfunc) понял что проблема из-за того что ввод/вывод идет
через
STDIN STDOUT ( програмка запускается через xinetd) , но пути решения проблемы
нигде не
нашел
что тут можно сделать что бы программа работала ( я придумал только одно - не
делать fork
, а читать sysread в буфер фиксированное число байт), но это решение мне не
нравится тк в
окончательном варианте программы должен быть еше анализ данных)
#!/usr/bin/perl
require 5.002;
use Socket;
use FileHandle;
$proxy_ip='10.0.2.197';
$proxy_port='80';
#open connection to proxy server
socket(PROXY, PF_INET, SOCK_STREAM, 6 );
if (!connect(PROXY, sockaddr_in($proxy_port, inet_aton($proxy_ip) )) ) {
exit 1;
};
$PID = fork ();
if ($PID != 0)
{
while($b1 = <STDIN>)
{
print PROXY $b1;
PROXY->flush ;
}
}
else
{
while($b1 = <PROXY>)
{
print STDOUT $b1;
STDOUT->flush ;
}
}
--
[ ЗА IP БЕЗ ЦЕHЗУРЫ ]
http://internet.comtv.ru
--- ifmail v.2.15dev5
* Origin: Msh Inc (2:5020/400)
Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/1337019e4c576.html, оценка из 5, голосов 10
|