|
|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Ruslan Sulemanov 2:4635/1024.27 17 Mar 2003 09:55:18 To : All Subject : таймауты в сокетах --------------------------------------------------------------------------------
Hебходимо yвеличить число попыпоток соединения с yдалённым хостом,
или сделать задержкy на обрыв соединения.
Когда я вызываю ф-цию для коннекта с y/хостом, то иногда из массива адресов
попадаются недостyпные хосты, по причине загрyженности канала или слабой связи
с ними, происходит как-бы преждевременный обрыв связи, как в моём слyчае лyчше
сделать что-бы такого не происходило, или может как-то оптимально это сделать
?
вот кyсок кода ф-ции для соединений с хостами:
......
socket(SOCK,PF_INET,SOCK_STREAM,getprotobyname('tcp')) || return 0;
$inet_addr=gethostbyname($remote_host) || return 0;
$paddr=sockaddr_in($port,$inet_addr);
# bind(SOCK,$paddr) || return 0;
connect(SOCK,$paddr) || return 0;
select(SOCK); $|=1; select(STDOUT);
print SOCK "GET $doc HTTP/1.0\r\n";
print SOCK "Host: $remote_host\n";
print SOCK "Accept: text/html\n";
print SOCK "User-Agent: MSIE 5.01\n";
print SOCK "\n";
local $SIG{ALRM}=sub { return 0; };
eval {
alarm(60);
while($line=<SOCK>)
{
push(@sockdata,$line);
}
alarm(0);
};
close(SOCK);
.....
Заранее благодарен.
С Уважением, Руслан.
--- GoldED+/FreeBSD 4.8-STABLE
* Origin: *JEET:* support@icu.net.ua *:UA* (2:4635/1024.27)
Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/45933e759187.html, оценка из 5, голосов 50
|