The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"Socket - как прописать таймаут на перл без IO::Socket ? "
Вариант для распечатки Архивированная нить - только для чтения! 
Пред. тема | След. тема 
Форумы Программирование под UNIX (Public)
Изначальное сообщение [Проследить за развитием треда]

"Socket - как прописать таймаут на перл без IO::Socket ? "
Сообщение от RUSLAN emailИскать по авторуВ закладки on 08-Янв-03, 22:23  (MSK)
use Socket;
$port=80;
$remote_host=~s/^\s*//;
$remote_host=~s/\s*$//;
$doc=~s/^\s*//;
$doc=~s/\s*$//;
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);
connect(SOCK,$paddr) || return 0;
select(SOCK);
$|=1;
select(STDOUT);
print SOCK "GET $doc HTTP/1.0\n";
print SOCK "Host: $remote_host\n";
print SOCK "Accept: text/html\n";
print SOCK "Accept: text/plain\n";
print SOCK "Accept: image/gif\n";
print SOCK "User-Agent: MSIE 5.01\n";
print SOCK "\n";
@sockdata=<SOCK>;
close(SOCK);
  Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

Индекс форумов | Темы | Пред. тема | След. тема
Сообщения по теме

1. "RE: Socket - как прописать таймаут на перл без IO::Socket ? "
Сообщение от uldus Искать по авторуВ закладки on 09-Янв-03, 10:18  (MSK)
Примерно так:

eval {
   local $SIG{ALRM} = sub { die "timeout (по die будет выход из eval блока)\n"; }
   alarm(60); # 60 сек. таймаут
   ..... чтение данных из сокета....
   alarm(0);
}

  Рекомендовать в FAQ | Cообщить модератору | Наверх


Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Пожалуйста, прежде чем написать сообщение, ознакомьтесь с данными рекомендациями.




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру