[Programmation sockets] fermeture du socket à la fin du script

fermeture du socket à la fin du script [Programmation sockets] - PHP - Programmation

Marsh Posté le 27-03-2007 à 16:19:21    

Bonjour,
 
Je travaille sur les sockets pour un projet, et mon problème est d'établir une liaison persistante entre un programme en C, et une page en PHP. Pour le C, aucun problème la connection est établie, mais en PHP à la fin de l'éxécution du script, le descripteur de socket est détruit.
 
j'utilisais dans un premier temps la fonction socket_create, puis j'ai découvert la fonction pfsockopen qui permet de conserver la connexion, je cite le manuel :
"mais la connexion ouverte le reste, même après la fin du script."
 
Pourquoi alors mon socket se détruit de la même façon qu'avec les autres fonctions ?
 
Après une recherche sur le net je n'ai trouvé que des gens partageant mon problème, et personne n'expliquant pourquoi le comportement diffère de ce qui est précisé dans le manuel.
 
merci de m'avoir lu et de me répondre, si vous pensez connaître une explication.

Reply

Marsh Posté le 27-03-2007 à 16:19:21   

Reply

Marsh Posté le 27-03-2007 à 17:46:22    

si tu utilises apache lit le dernier commentaire de la doc : http://fr.php.net/pfsockopen

Reply

Marsh Posté le 28-03-2007 à 13:44:54    

soju a écrit :

si tu utilises apache lit le dernier commentaire de la doc : http://fr.php.net/pfsockopen


 
Merci de ta réponse, j'avais trouvé la page mais pas lu ce commentaire. Si je comprend bien, il est possible d'utiliser la fonction pfsockopen, mais celle-ci se contente de créer une nouvelle connection pour chaque processus utilisé, et l'unicité de ce processus n'est pas assurée, et dépend du serveur, et de paramètres que je qualifierai d'incontrolables.  
 
Mon interprétation est-elle valide selon vous ??
 
En se basant sur celle-ci, j'en conclus qu'il ne m'est pas forcément nécessaire d'utiliser cette fonction, et que je peux me contenter de créer une connection pour chaque communication.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed