Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
|
[Perl] Ура...решение нашлось 02.11.02 16:59 Число просмотров: 1056
Автор: user555 Статус: Незарегистрированный пользователь
|
vp016:Спасибо...
|
<programming>
|
[Perl] предложите какое- нибудь решение 01.11.02 21:07
Автор: user555 Статус: Незарегистрированный пользователь
|
Привет всем...
Нужно соединится через сокет с сервисом и при этом использовать таймаут. С процедурой alarm не работает(у меня апачи и перл под win32, а alarm под винду не работает )...
Может предложите какое- нибудь решение под win32 или пришлите пример работающий скрипта..
Заранее благодарствую за помощь...
|
|
[Perl] Ура...решение нашлось 02.11.02 16:59
Автор: user555 Статус: Незарегистрированный пользователь
|
vp016:Спасибо...
|
|
[Perl] предложите какое- нибудь решение 02.11.02 13:23
Автор: vp016 Статус: Незарегистрированный пользователь
|
> Привет всем... > Нужно соединится через сокет с сервисом и при этом > использовать таймаут. С процедурой alarm не работает(у > меня апачи и перл под win32, а alarm под винду не работает > )... > Может предложите какое- нибудь решение под win32 или > пришлите пример работающий скрипта.. > Заранее благодарствую за помощь... При сoздании сокета:
use IO::Socket;
my $sock = new IO::Socket::INET (...., Timeout => $timeout);
select поможет при чтении.
sub tsysread {
my $sock = shift|return (-1);
my $buff = shift|return (-1);
my $size = shift|return (-1);
my $rn;
my $n;
vec ($rn, fileno($$sock), 1) = 1;
$n = select ($rn, undef, undef, $timeout);
if ($n) {
sysread ($$sock, $$buff, $size);
} else {
return (-1);
}
}
Работало без проблем на всех платформах.
|
|
|