Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3016 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  fread stream_get_contents fonctionne pas dans ma class

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

fread stream_get_contents fonctionne pas dans ma class

n°1768261
ouiouioui1​0
ChuckNorris sait diviser par 0
Posté le 02-08-2008 à 15:53:32  profilanswer
 

Bonjour, voila 1 jour que je bloque j'ai tout essayé, dans une classe j'ai une fonction qui envoie des commandes et lis un resultat:

 
Code :
  1. private function sendcmd($cmd, $answer = false) {
  2.  if (!$fp = stream_socket_client('udp://' . $this->ip . ':' . $this->port, $errno, $errstr, 3)) {
  3.   $this->status($this->lang['errcmd'] . ' ' . $cmd . ' ' . $errstr . ' (' . $errno . ')');
  4.  } else {
  5.   socket_set_timeout($fp, 3);
  6.   fwrite($fp, "\xff\xff\xff\xff\x02rcon $this->rconpass $cmd\x0a\x00" );
  7.   //if ($answer)
  8.   $response = fread($fp, 8192);
  9.   //debug
  10.   echo $response;
  11.   //----
  12.   fclose($fp);
  13.   if ($answer) return str_replace("\xff\xff\xff\xffprint\n", '', $response);
  14.  }
  15. }
 

cela retourne rien, echo $response affiche rien, mais la commande est bien passé et sa attend 3sec (jusqu'au timeout je suppose)
en revanche dans un .php vierge, ceci:

 
Code :
  1. if (!$fp = stream_socket_client('udp://127.0.0.1:2560', $errno, $errstr, 3)) {
  2.   echo'zzzzz';
  3.  } else {
  4.   socket_set_timeout($fp, 3);
  5.   fputs($fp, "\xff\xff\xff\xff\x02get ryvs status\x0a\x00" );
  6.   $response = fread($fp, 8192);
  7.   fclose($fp);
  8.   echo $response;
  9.  }
 

la commande passe et j'ai la réponse instantanément echo $response affiche le bon texte que le serveur envoie.

 

c'est pas la 1er fois que j'emploie ce code avec succès et la non, je comprend pas, pas d'erreur affiché non plus.

 

quelqu'un à une idée?

 

Merci d'avance


Message édité par ouiouioui10 le 02-08-2008 à 16:01:37
mood
Publicité
Posté le 02-08-2008 à 15:53:32  profilanswer
 

n°1768604
ouiouioui1​0
ChuckNorris sait diviser par 0
Posté le 03-08-2008 à 18:48:14  profilanswer
 

j'ai résolu le problème en isolant cette fonction dans un .php vierge et en l'appelant depuis ma classe avec shell_exec('monphp.php "argument"');

 

c'est pas propre et surtout j'aime pas ne pas comprendre. donc si une âme charitable pouvait m'aider je lui en serait très reconnaissant :(


Message édité par ouiouioui10 le 03-08-2008 à 18:49:15

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  fread stream_get_contents fonctionne pas dans ma class

 

Sujets relatifs
pseudo class activequestion simple, difference entre deux classes CSS
[resolu] Ajax et XML. Mon script ne fonctionne pas.JS - Mon script ne fonctionne pas...
WSAStringToAddress() ne fonctionne pas??Formulaire avec captcha qui ne fonctionne pas...
[Fini]Aide formulaire qui ne fonctionne pas :/comment fonctionne la fonction date ?
Fonction Javascript qui ne fonctionne pas sous IE 6 et 7Pourquoi Boost n'implemente pas sa class STRING ?
Plus de sujets relatifs à : fread stream_get_contents fonctionne pas dans ma class


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR