Hoofdcategorieën

Nieuw reactie in topic: [PHP]socket_write laat geheugen vollopen.

Let op:
  • Reageer ontopic, plaats geen onzinnige berichten en ga niet flamen of uitlokken (trollen).
  • Zie je iets dat niet door de beugel kan, attendeer dan een moderator via een topicreport maar post hierover niet in het topic, dat werkt alleen averechts. Zie ook de policy die wij op dit forum hanteren.
  • Lees je eigen bericht even door voor je het post.

Insert message
 

Let op! Het laatste bericht in deze discussie is meer dan 2 weken oud!

 

Smilies: :) :( ;) >:) :> :P :9 :o :*) :'( 8) :+ :D _/-\o_ :9~ O+ :O }:O :/ :| :X :? 8)7 |:( O-) :z ;( meer »

Laatste reacties:

 
Ik ben bezig met een socket script.
Dit werkt nu bijna helemaal.

Ik heb alleen een 'lek'. Als k de socket write aanroep om data te verzenden zie ik dat mijn geheugen volloopt.

IK begrijp hier niks van :?

Na wat zoeken vond ik dat je opties kan zetten.
code:
1
2
$array = array('l_linger' => 0, 'l_onoff' => 1);
socket_set_option($socket, SOL_SOCKET, SO_LINGER,$array);

Dit heeft geen invloed. Als ik schrijf naar de socket dan lees ik dat op de client uit. Maar toch loopt het geheugen vol.
ik doe dit
code:
1
2
$output = "Welkom Jochemmol";
$bytes = socket_write($socket, $output."\n", strlen ($output."\n"));

het maakt geen verschil of ik de \n in de variabele zet of niet.
Is er geen functie met clear_buffer of reset socket write function? Of doe ik iets basics fout?
 
 
Roep je wel socket_close aan als je klaar bent?
 
 
quote:
Bozozo schreef op woensdag 09 juli 2008 @ 11:38:
Roep je wel socket_close aan als je klaar bent?
Ik roep socket_close aan na 5 seconden. Ik heb een 'luister timeout' van 5 seconden.
 
 
Weet je ook zeker of dat goed gaat?

Ik roep maar wat hoor, ik heb sockets ook pas 1 keer gebruikt O-)
 
 
Volgens mij schrijf je het bij een write niet letterlijk naar een client, maar naar een buffer. Die client leest vervolgens die buffer. Je pushed dus naar mijn weten niets naar de client, alles blijft bij jou tot het opgehaald wordt.
 
 
quote:
frickY schreef op woensdag 09 juli 2008 @ 12:34:
Volgens mij schrijf je het bij een write niet letterlijk naar een client, maar naar een buffer. Die client leest vervolgens die buffer. Je pushed dus naar mijn weten niets naar de client, alles blijft bij jou tot het opgehaald wordt.
Als dat zo is zou ik met fluhs() de buffer leeg kunnen maken. Maar dat werkt niet. Of is er een speciale manier om de buffer leeg te gooien?
 

VNU Media logo Powered by True

© 1998 - 2008 Tweakers.net - Alle rechten voorbehouden

Uitgever van: