Ver Mensaje Individual
  #2 (permalink)  
Antiguo 01/11/2012, 11:12
Avatar de razpeitia
razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 9 meses
Puntos: 1360
Respuesta: PHP envia socket a Python pero no recibe respueta

Te recomiendo usar Twisted es mucho mas seguro que usar sockets a secas.

Código Python:
Ver original
  1. #!/usr/bin/python
  2.  
  3. from twisted.internet import protocol, reactor
  4.  
  5. class Echo(protocol.Protocol):
  6.     def dataReceived(self, data):
  7.         self.transport.write('YOU RESPONSE HERE!')
  8.  
  9. class EchoFactory(protocol.Factory):
  10.     def buildProtocol(self, addr):
  11.         return Echo()
  12.  
  13. reactor.listenTCP(9999, EchoFactory())
  14. reactor.run()

Código PHP:
Ver original
  1. <?php
  2. $host = "localhost";
  3. $port = 9999;
  4. $output= 'Hola mundo!';
  5. $socket1 = $sock = socket_create(AF_INET, SOCK_STREAM, SOL_TCP) or die("Could not create socket\n");
  6. socket_connect ($socket1 , $host,$port ) ;
  7. #Envia el mensaje (Esto si funciona)
  8. socket_write($socket1, $output, strlen ($output)) or die("Could not write output\n");
  9. $tamano=3072;
  10. $salida=socket_read($socket1,$tamano);
  11. echo $output."\n";
  12. echo 'R:>> ';
  13. echo $salida."\n";
  14. socket_close($socket1) ;
  15. ?>