|
| Time out i fsockopen Fra : Michael Gandrup Vend~ |
Dato : 27-06-02 23:50 |
|
Hejsa håber meget på et klogt hovede.
Jeg forsøger at lave et "Er den der tjek" altså se om et domæne er
oppe. Ifølge manualen burde man da kunne justere hvor hurtig fsockopen
skal opgive at få kontakt ik?
Jeg har prøvet med:
$fp = fsockopen (" www.domaenesomernede.dk", 80, $errno, $errstr, 3);
Burde den ikke opgive efter 3 sek.?
Hvis jeg venter længe nok, så siger den
Connection timed out (110)
--
Med venlig hilsen
Michael Gandrup Vendelbo
| |
Kristian Risager Lar~ (28-06-2002)
| Kommentar Fra : Kristian Risager Lar~ |
Dato : 28-06-02 01:03 |
| | |
Michael Gandrup Vend~ (28-06-2002)
| Kommentar Fra : Michael Gandrup Vend~ |
Dato : 28-06-02 09:21 |
|
On Fri, 28 Jun 2002 02:03:28 +0200, Kristian Risager Larsen wrote:
>> $fp = fsockopen (" www.domaenesomernede.dk", 80, $errno, $errstr, 3);
>> Burde den ikke opgive efter 3 sek.?
>Jo, det skulle jeg mene.
Den her kan jeg pludeselig få til at virke i dag
$fp = @fsockopen (" www.ensomikkefindes.dk", 80, $errno, $errstr, 30)
or die("ingen kontakt");
Hvis domænet ikke findes eller hvis jeg ændre port 80 til en der er
lukket på et domæne som findes. Så får jeg fint en "ingen kontakt"
>Der står dog ingen steder at "float timeout" er angivet i sekunder.
Øhh citat fra manual siden:
The optional timeout can be used to set a timeout in seconds for the
connect system call.
Men det ser ud til at socket_set_timeout skal angives som 1000 for et
sek.
>Prøv evt. at se på socket_set_timeout:
> http://dk.php.net/manual/en/function.socket-set-timeout.php
Den kan jeg vel først bruge når jeg har forbindelse? Ifølge
eksemplerne bruges den først når man skal læse.
--
Med venlig hilsen
Michael Gandrup Vendelbo
| |
Tonni Aagesen (28-06-2002)
| Kommentar Fra : Tonni Aagesen |
Dato : 28-06-02 10:08 |
|
"Michael Gandrup Vendelbo" <michael@gandrup-vendelbo.com> skrev i en
meddelelse news:j86ohuo58vmn4ue8s5ago5icgvkug2ukef@4ax.com...
> Den her kan jeg pludeselig få til at virke i dag
>
> $fp = @fsockopen (" www.ensomikkefindes.dk", 80, $errno, $errstr, 30)
> or die("ingen kontakt");
Har du prøvet med 'or die("ingen kontakt");' i din oprindelige forbindelse?
I øvrigt er 30 sekunder præcis det samme som værdien af "max_execution_time"
i en standard php.ini
--
Mvh
Tonni Aagesen
<agent29 AT stofanet DOT dk>
| |
Michael Gandrup Vend~ (28-06-2002)
| Kommentar Fra : Michael Gandrup Vend~ |
Dato : 28-06-02 11:03 |
|
On Fri, 28 Jun 2002 11:07:59 +0200, Tonni Aagesen wrote:
>Har du prøvet med 'or die("ingen kontakt");' i din oprindelige forbindelse?
Ja det mener jeg. Der må jo være forskel på om et domæne ikke findes
og så på et som findes men som er nede. Igår hvor zipstat.dk var nede
faktisk hele aftenen kunne jeg på ingen mulig måde få den til at
droppe forsøget. Men prøvede jeg på et der var oppe, på en port som
jeg viste var lukket, så have jeg ingen problemer med at få den til at
give en error. Nu kan jeg ikke lige finde et domæne som er ned, så den
del bliver nødtil at vente.
>I øvrigt er 30 sekunder præcis det samme som værdien af "max_execution_time"
>i en standard php.ini
Ja det fandt jeg ud af, har også tjekket, sådan er min også sat op.
Derfor skulle jeg vel nok kunne sætte den til 5 også undgå den lange
vente tid ik'?
--
Med venlig hilsen
Michael Gandrup Vendelbo
| |
Tonni Aagesen (28-06-2002)
| Kommentar Fra : Tonni Aagesen |
Dato : 28-06-02 11:25 |
|
"Michael Gandrup Vendelbo" <michael@gandrup-vendelbo.com> skrev i en
meddelelse news:decohu4g10jucgbdro88lsf6h6hheldvju@4ax.com...
> Ja det fandt jeg ud af, har også tjekket, sådan er min også sat op.
> Derfor skulle jeg vel nok kunne sætte den til 5 også undgå den lange
> vente tid ik'?
Jeg har selv et script med en fsockopen og timeout:
function sConnect($con_host,$con_port)
{
$sock = fsockopen ($con_host, $con_port, $errno, $errstr, 10);
if (!$sock){
$eval[0] = FALSE;
$eval[1] = "[$errno] $errstr";
}
else {
$eval[0] = TRUE;
$eval[1] = $sock;
}
return $eval;
}
Her fungerer timeout fint! Jeg kører dog scriptet på Linux, og jeg kan ikke
rigtig huske, om der er nogle problemer med fsock på windows (hvis det da er
det du bruger).
--
Mvh
Tonni Aagesen
<agent29 AT stofanet DOT dk>
| |
Michael Gandrup Vend~ (28-06-2002)
| Kommentar Fra : Michael Gandrup Vend~ |
Dato : 28-06-02 12:31 |
|
On Fri, 28 Jun 2002 12:24:47 +0200, Tonni Aagesen wrote:
>Jeg har selv et script med en fsockopen og timeout:
[Klip script]
Funktioner er ikke lige det jeg har gjort mest i, men burde den ikke
give et output? hvis man kalder den med:
sConnect(" http://www.domaene.com", "80");
>Her fungerer timeout fint! Jeg kører dog scriptet på Linux, og jeg kan ikke
>rigtig huske, om der er nogle problemer med fsock på windows (hvis det da er
>det du bruger).
Bruger Linux. Jeg kikkede igår på flere forskellige færdige script.
De opførte sig på samme måde, altså hang ved kendte domæner som var
nede. Ellers virkede time out fint.
Gemmer lige dit script, så jeg har noget at sammenligne med.... hvis
ellers jeg kan få den til at give et output.
--
Med venlig hilsen
Michael Gandrup Vendelbo
| |
|
|