ouiouioui10 ChuckNorris sait diviser par 0 | 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 :
- private function sendcmd($cmd, $answer = false) {
- if (!$fp = stream_socket_client('udp://' . $this->ip . ':' . $this->port, $errno, $errstr, 3)) {
- $this->status($this->lang['errcmd'] . ' ' . $cmd . ' ' . $errstr . ' (' . $errno . ')');
- } else {
- socket_set_timeout($fp, 3);
- fwrite($fp, "\xff\xff\xff\xff\x02rcon $this->rconpass $cmd\x0a\x00" );
- //if ($answer)
- $response = fread($fp, 8192);
- //debug
- echo $response;
- //----
- fclose($fp);
- if ($answer) return str_replace("\xff\xff\xff\xffprint\n", '', $response);
- }
- }
| 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 :
- if (!$fp = stream_socket_client('udp://127.0.0.1:2560', $errno, $errstr, 3)) {
- echo'zzzzz';
- } else {
- socket_set_timeout($fp, 3);
- fputs($fp, "\xff\xff\xff\xff\x02get ryvs status\x0a\x00" );
- $response = fread($fp, 8192);
- fclose($fp);
- echo $response;
- }
| 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
|