Avatar billede executer Nybegynder
23. april 2001 - 13:57 Der er 10 kommentarer

Fgets hænger

Jeg har lavet et script som skal connecte gennem fsockopen, til en server. Her skal den requeste noget content, og derefter printe det. Dette virker også fint nok, sådan da. Den låser scriptet så det aldrig når at hente al content, og afslutte scriptet.

while (!feof($fp))
{
  echo fgets($fp, 128);
}

Nogen som har en ide ??


På forhånd tak.
Avatar billede iss Novice
23. april 2001 - 15:09 #1
Prøv at åbne din fil binært....

fopen (\"xxxx\", \"wb\");
Avatar billede executer Nybegynder
23. april 2001 - 15:13 #2
Det hjælper mig jo ikke hvis jeg både skal poste noget til denne, som så skal retunere et svar til mig, som jeg så skal læse.
Avatar billede iss Novice
23. april 2001 - 15:24 #3
Denne har jeg lige kørt uden problemer:

$fp = fsockopen (\"www.php.net\", 80, $errno, $errstr, 30);
while (!feof($fp))
{
  echo fgets($fp, 128);
}
fclose ($fp);

Så det er ikke den del af din kode der giver problemer...
Avatar billede executer Nybegynder
23. april 2001 - 15:26 #4
Jo det er det. Det er når den har hentet x-antal bytes, så fryser den.

Den output\'er overhalvdelen af det jeg forespørger, også fryser den.
Avatar billede barefoot Nybegynder
23. april 2001 - 15:28 #5
Prøv med denne her:

$adresse = \"serverens adresse\";
$socket = fsockopen(\"$adresse\", 43, &$errnr, &$errstr) or die($errnr.\" -- \".$errstr);
$soeg = \"dit søgeord\";
// Send query til db\'en
fputs($socket, $soeg.\"\\n\");
while (!feof($socket)) {
  $indhold[$a] = fgets($socket,1024);
  $a++;
  echo $indhold[$a];
}
fclose($socket);

Jeg mener at det skulle virke.
Avatar billede executer Nybegynder
23. april 2001 - 15:31 #6
Dette er jo det samme, bare skrevet på den lidt anden måde.
Avatar billede barefoot Nybegynder
23. april 2001 - 17:24 #7
Det kunne jeg jo ikke vide når du ikke har sendt hele din kode!

Men da dit script timeouter kan det jo være at du har en eller anden fejl...
Det kan da ikke skade at prøve med mit og så se hvad der sker.....
Avatar billede alvion Nybegynder
23. april 2001 - 17:40 #8
Kan det ikke være fordi din \"max_execution_time\" er sat for lavt i php.ini?

Prøv at rette linien til noget højere, f.eks:

max_execution_time = 12000
Avatar billede executer Nybegynder
24. april 2001 - 08:20 #9
Mit script timer ikke ud, det hænger bare, og problemet ligger i while løkken som hænger efter X-antal hentede bytes.

Hvilket betyder at den aldrig kommer ud af løkken da der stadig er data som skal hentes, som så betyder at den forbliver sand.
Avatar billede ahlforn Nybegynder
29. oktober 2001 - 12:33 #10
Jeg har samme problem, når jeg prøver på at hente data ud fra en CS Server, hænger siden bare. Men når jeg prøver at hente fra en Quake3 server, virker skidtet fint!!!
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester