Foros del Web » Programando para Internet » PHP »

como detectar la ip y el puerto con php??

Estas en el tema de como detectar la ip y el puerto con php?? en el foro de PHP en Foros del Web. Saludos Lo que pasa es que he puesto un servidor en php para poder recibir información por un puerto supongamos el puerto 12000 pero quisiera ...
  #1 (permalink)  
Antiguo 16/07/2009, 15:17
Avatar de wpersei  
Fecha de Ingreso: septiembre-2006
Ubicación: Bogota
Mensajes: 189
Antigüedad: 17 años, 7 meses
Puntos: 1
Pregunta como detectar la ip y el puerto con php??

Saludos

Lo que pasa es que he puesto un servidor en php para poder recibir información por un puerto supongamos el puerto 12000 pero quisiera saber que puerto abrió mi cliente para conectarse conmigo y que de esta forma yo pueda enviar alguna confirmación, pero en esencia es saber por que puerto se conecta mi cliente

gracias y suerte
__________________
www.ogallardo.com - Mi blog
  #2 (permalink)  
Antiguo 16/07/2009, 15:20
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 9 meses
Puntos: 1532
Respuesta: como detectar la ip y el puerto con php??

Puede que utilices la extensión de sockets de php y abras uno escuchando ese puerto, hasta ahora no lo he echo en php, sólo con C# porque es relativamente más rápido.

Ahh por cierto, todas las solicitudes HTML la recibe apache y son por el puerto 80, si utilizas apache, claro.

este es un código de ejemplo extraído del manual php:

Código PHP:
#!/usr/local/bin/php -q
<?php
error_reporting
(E_ALL);

/* Permitir que el script permanezca en espera de conexiones. */
set_time_limit(0);

/* Habilitar vaciado de salida implicito, de modo que veamos lo que
 * obtenemos a medida que va llegando. */
ob_implicit_flush();

$direccion '192.168.1.53';
$puerto    10000;

if ((
$sock socket_create(AF_INETSOCK_STREAMSOL_TCP)) < 0) {
    echo 
"socket_create() fall&oacute;: motivo: " socket_strerror($sock) . "\n";
}

if ((
$ret socket_bind($sock$direccion$puerto)) < 0) {
    echo 
"socket_bind() fall&oacute;: motivo: " socket_strerror($ret) . "\n";
}

if ((
$ret socket_listen($sock5)) < 0) {
    echo 
"socket_listen() fall&oacute;: motivo: " socket_strerror($ret) . "\n";
}

do {
    if ((
$mens_sock socket_accept($sock)) < 0) {
        echo 
"socket_accept() fall&oacute;: motivo " socket_strerror($mens_sock) . "\n";
        break;
    }
    
/* Enviar instrucciones. */
    
$mensaje "\nBienvenido al Servidor de Prueba PHP. \n" .
               
"Para salir, escriba 'salir'. " .
               
"Para detener el servidor, escriba 'detener'.\n";
    
socket_write($mens_sock$mensajestrlen($mensaje));

    do {
        if (
false === ($buf socket_read($mens_sock2048PHP_NORMAL_READ))) {
            echo 
"socket_read() fall&oacute;: motivo: " socket_strerror($ret) . "\n";
            break 
2;
        }
        if (!
$buf trim($buf)) {
            continue;
        }
        if (
$buf == 'salir') {
            break;
        }
        if (
$buf == 'detener') {
            
socket_close($mens_sock);
            break 
2;
        }
        
$respuesta "PHP: Usted dijo '$buf'.\n";
        
socket_write($mens_sock$respuestastrlen($respuesta));
        echo 
"$buf\n";
    } while (
true);
    
socket_close($mens_sock);
} while (
true);

socket_close($sock);
?>
  #3 (permalink)  
Antiguo 16/07/2009, 15:57
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: como detectar la ip y el puerto con php??

Haz un var_dump($_SERVER) con eso puedes ver las variables que se establecen y en una de ellas viene el puerto.

Saludos.
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 07:35.