[RESOLU] ma variable qui change de type comme par magie

ma variable qui change de type comme par magie [RESOLU] - PHP - Programmation

Marsh Posté le 04-10-2012 à 14:22:27    

Bonjour,
 
J'ouvre un socket qui est donc stocké dans un conteneur que j'appel $socket. Le type est 'ressource'.
 
Mais lorsque je lis la fonction lire_socket(), le navigateur me dit que socket n'est plus une ressource mais un entier !!???  :heink: et donc pas possible de lire le socket ...
 
Ca fait 3h que je suis dessus ... je n'arrive pas à comprendre  :sweat:  
 
Merci d'avance de votre aide si précieuse !!
 

Code :
  1. <?php
  2. class Socket
  3. {
  4. public $socket;
  5. public function Socket ()  {
  6.  $this->socket = socket_create(AF_UNIX, SOCK_STREAM,0);
  7.  socket_connect($this->socket, "/tmp/server" );
  8.            gettype($this->socket); //ressource
  9.                 echo $type;
  10. }
  11.   public function lire_socket() {
  12.    gettype($this->socket); //entier !!!!????
  13.    echo $type;
  14. $msg = socket_read($this->socket,6);
  15. return $msg;
  16. }
  17. ?>


Message édité par ti7bo7 le 05-10-2012 à 14:35:27
Reply

Marsh Posté le 04-10-2012 à 14:22:27   

Reply

Marsh Posté le 05-10-2012 à 08:53:54    

Il n'y a rien d'autre entre les appels aux deux fonctions?
 
sinon, d'après la doc:
 

Citation :

socket_create() retourne une ressource de socket en cas de succès et FALSE sinon. Le code d'erreur généré peut être obtenu en appelant la fonction socket_last_error(). Ce code d'erreur peut être passé à la fonction socket_strerror() pour obtenir un message d'erreur humainement lisible.


 
essaye peut être de voir s'il n'y a pas eu une erreur

Reply

Marsh Posté le 05-10-2012 à 13:23:59    

Rien entre les appels. Vérifier et sur-vérifier.  
 
Socket bien activé puisque le serveur réponds bien et que le gettype me donne bien "ressource"

Reply

Marsh Posté le 05-10-2012 à 14:35:08    

"Juste une chose : les ressources ne sont pas linéarisables via serialize"
 
trouvé ...

Reply

Marsh Posté le 05-10-2012 à 15:09:10    

donc il y avait une sérialisation entre les 2 appels? :p

Reply

Marsh Posté le 07-10-2012 à 13:59:49    

oui :)

Reply

Sujets relatifs:

Leave a Replay

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