Problème avec sockets en php

sandalk -  
 sandalk -
Bonjour,

Je suis un train de créer un petit programme de communication (serveur/client) avec sockets en php et j'ai un petit problème.
Mon client envoie des données au serveur et si celui ci les a bien reçu, il renvoie au client un accusé (ack=1). toutefois, j'aimerais que si le message n'est pas recu au bout d'un certain temps $timeout, le client renvoie le message de données.

Je vous mets ici mes codes:

pour le serveur:
$info = stream_get_meta_data($socket_reception);  
$socket_envoi = creation_stream_socket_envoi($addrc, $port);  
if ($info=TRUE) {  
//envoi de l'ack=1  
$ack=1;  
envoi_donnees($socket_envoi, $ack);}  
else {  
//envoi de l'ack=0  
$ack=0;  
envoi_donnees($socket_envoi, $ack);

pour le client:
// reception de l'ack  
$socket_reception = creation_stream_socket_reception($addrc, $port);  
reception_acknowledge($socket_reception);  

stream_set_timeout ( $socket_reception , $timeout );  
$info = stream_get_meta_data($socket_reception);   
if ($info['timed_out']= false) {   
$donnees='Bonjour je vous envoie un message';  
envoi_donnees($socket_envoi, $donnees);}


C'est au niveau du dernier paragraphe que j'ai un soucis.


Par ailleurs, si l'acknowledge retourné vaut 1 j'aimerais que le client renvoie un accusé. Pour cela j'ai créé le code suivant :
info = stream_set_read_buffer ($socket_reception,1);  
//envoi confirmation ack  
if ($info='1') {  
$donnees='Ack bien reçu';  
envoi_donnees($socket_envoi, $donnees);}

Apparemment la condition sur ce code ne fonctionne pas, pourriez-vous m'indiquer quelle fonction utiliser pour 'lire' le contenu de la socket ?

Je vous remercie
<config>Windows 7 / Internet Explorer 8.0</config>            
            
A voir également:

1 réponse

sandalk
 
Quelqu'un pour m'aider ? svp
0
sandalk
 
quelqu'un aurait-il des conseils à me donner ?
0