llevo 2 dias buscando por google y por mas que pruebo no se que narices pasa.. espero que alguno de vosotros pueda ayudarme..
tengo un servidor en PHP hecho con sockets muy básico, lo testeo utilizando el cliente telnet y puedo enviar mensajes y el servidor los recibe todos, el problema está al utilizar flash como cliente ya que me conecta al servidor y me manda un primer mensaje pero los siguientes no los envía.. dejo el código PHP y flash a continuación, espero que puedan ayudarme y gracias por adelantado.
Servidor.php:
Código PHP :
<?php
$host="***.***.*.***";
$port=1500;
set_time_limit(0);
$Server_socket=socket_create(AF_INET,SOCK_STREAM, 0);
$Server_actions=socket_bind($Server_socket,$host,$port);
$Server_actions=socket_listen($Server_socket);
echo"servidor esperando conexiones \n";
$Client_socket=socket_accept($Server_socket);
echo"nuevo cliente conectado \n";
while(true){
$Server_read=socket_read($Client_socket,1024,1);
echo $Server_read;
if($Server_read==NULL){
break;
}
}
?>Cliente .fla
Código ActionScript :
var host= "***.***.*.***";
var port= 1234;
var cliente:Socket = new Socket(host,port);
cliente.addEventListener(Event.CONNECT, connect_server);
mensaje.addEventListener(KeyboardEvent.KEY_DOWN, send_mensaje);
function connect_server(e:Event):void{
trace("Conectado a [" + host + "]");
try{
// este mensaje si lo manda
cliente.writeUTFBytes("mensaje enviado por nuevo Cliente\n");
}
catch(e:IOError){
trace(e);
}
}
function send_mensaje(e:KeyboardEvent):void{
if(e.keyCode==16){
try{
// este mensaje ya no lo manda
cliente.writeUTFBytes("Mensaje2\n");
}
catch(e:IOError){
trace(e);
}
}
}Un saludo y disculpas si el mensaje es muy largo pero no podía acortarlo mas xP.
