Foros del Web » Programando para Internet » PHP »

Manejo de informacion recibida en socket php y pasarlo a mysql

Estas en el tema de Manejo de informacion recibida en socket php y pasarlo a mysql en el foro de PHP en Foros del Web. Hola muy buen dia Es mi primer post espero este en el tema correcto y si no espero me haga favor de moverlo al correcto ...
  #1 (permalink)  
Antiguo 04/09/2012, 22:16
 
Fecha de Ingreso: agosto-2012
Mensajes: 4
Antigüedad: 11 años, 8 meses
Puntos: 1
Pregunta Manejo de informacion recibida en socket php y pasarlo a mysql

Hola muy buen dia

Es mi primer post espero este en el tema correcto y si no espero me haga favor de moverlo al correcto algun moderador

Bueno a lo importante estuve revisando mucha informacion sobre este tema pero no encuentro realimente lo que necesito o mejor dicho no encuentro la orientacion correcta, explico lo que quiero hacer

quiero recibir informaicon desde un puerto estuve investigando y encontre los sockets en PHP tome de otra web un codigo que proporciona un usuario para realizar pruebas y ver como es que funciona un socket y todo la duda es que cuando recibo la informacion y la quiero imprimir en pantalla solo me manda un "Resource ID #5" no se si este haciendo algo mal o algo y lo que en realidad me interesa es que me muestre la cadena que recibe el socket y pues obviamente despues podertratar la informacion que contiene la variable para poderla guardar en mysql

espero alguien me pueda ayudar en esto o mejor dicho orientar de por donde debo de seguir ya que ando un poco atorado con esto

NOTA: No se si sea de mucha importancia pero el socket lo estoy ejecutando en simbolo de sistemas ya que instale windows server 2008 e instale php con cgi y la extension de sockets para poder correrlo en el simbolo de sistemas y dejar el socket como demonio

CODIGO SOCKET
Código PHP:
<?php 
$socket 
socket_create(AF_INET,SOCK_STREAM,0); 
socket_bind($socket,0,8888); 
socket_listen($socket); 

echo 
"Esperando conexión\n\n"
$conn false

switch(@
socket_select($r = array($socket), $w = array($socket), $e = array($socket), 60)) { 
    case 
2
        echo 
"Conexión rechazada!\n\n"
        break; 
    case 
1
        echo 
"Conexión aceptada!\n\n"
        
    
$client socket_accept($socket);
    
$buffer socket_recv($socket);
    
$buffer "Hola, ".$buffer."\n";
        
        echo 
"la cadena contiene".$buffer."\n"
        echo 
"client ".$client."\n"//Esto lo pongo para ver si me imprimia lo que contenia $client
        
socket_close($client);
        break; 
    case 
0
        echo 
"Tiempo de espera excedido!\n\n"
        break; 

    
    
if (
$conn !== false) { 
    
// communicate over $conn 


  
?>

o de plano sera que estoy por el camino incorrecto?


Sin mas muchas gracias por su ayuda
Saludos
  #2 (permalink)  
Antiguo 05/09/2012, 02:11
 
Fecha de Ingreso: abril-2008
Mensajes: 88
Antigüedad: 16 años
Puntos: 5
Respuesta: Manejo de informacion recibida en socket php y pasarlo a mysql

uuuyyy rey, windows creo que tiene una forma de hacerlo con un comando en el CMD, no me recuerdo bien cual es, pero existe... si fuera linux podrias unar el comando NOHUB y la ruta a tu script... solo tenes que buscar algo similar para windows.

Este tipo de necesidad, se me hace conocido... pero bueno. creo que ya existe un script echo que se llama superSocket.exe por ahi rondando...
  #3 (permalink)  
Antiguo 05/09/2012, 20:50
 
Fecha de Ingreso: agosto-2012
Mensajes: 4
Antigüedad: 11 años, 8 meses
Puntos: 1
Respuesta: Manejo de informacion recibida en socket php y pasarlo a mysql

@juanjoseab
Muchas gracias por tus comentarios creo que lo del super socket me ayudo para darme cuenta de algunas cosas jejeje

pero ya encontre mi solucion haciendo mi propio codigo socket jejejeje

abajo pongo el resultado y si me funciona es un codigo muy sencillo pero ahora sigue mejorarlo
y falta la parte con la que manejo el guardar en mysql

Nota: lo que me estaba dando el problema era el socket_select del switch


Código PHP:
<?php

$sock 
socket_create(AF_INETSOCK_STREAM,0);
socket_bind($sock,0,8888);
socket_listen($sock);
echo 
"Esperando nueva conexión\n\n";
$socket=socket_accept($sock);

echo 
"resultado de cadena \n";
 
$mensaje socket_read($socket,1024,PHP_NORMAL_READ);
 
echo 
$mensaje;
 
socket_close($sock);
 
socket_close($socket);

echo 
"socket cerraso";


?>
Saludos a todos

Etiquetas: mysql, sockets
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:12.