Foros del Web » Programando para Internet » PHP »

[Ayuda] Leer informacion de sockets.

Estas en el tema de [Ayuda] Leer informacion de sockets. en el foro de PHP en Foros del Web. Soy nuevo en esto de trabajar con sockets y estoy intentando crear una clase (aunque se que ya existen varias) para poder obtener estadisticas de ...
  #1 (permalink)  
Antiguo 15/02/2011, 11:33
 
Fecha de Ingreso: mayo-2010
Mensajes: 21
Antigüedad: 13 años, 10 meses
Puntos: 1
[Ayuda] Leer informacion de sockets.

Soy nuevo en esto de trabajar con sockets y estoy intentando crear una clase (aunque se que ya existen varias) para poder obtener estadisticas
de un servidor de Counter Strike, aver si me dan una mano. ¿Por qué el socket no me devuelve información ni nada? ¿Estoy haciendo algo mal?
Desde ya muchas gracias.

Código PHP:
<?php
class Socket
{
    private 
$_ip '';
    private 
$_port;
    
    public function 
__construct($ip '127.0.0.1'$port 27015) {
        
$this->_ip $ip;
        
$this->_port $port;
    }
    
    public function 
connect() {
        if (
$fp = @fsockopen('udp://' $this->_ip$this->_port)) {
            
$return true;
        } else {
            
$return false;
        }
        return 
$return;
    }
    
    public function 
read() {
        if (
$this->connect()) {
            
$info fgets($fp);
        }
        return 
$info;
    }
}

$socket = new Socket(); // Conecto a mi PC (aunque podría ser cualuqier otra..
$socket->connect();
$info $socket->read();
print_r($info);
  #2 (permalink)  
Antiguo 15/02/2011, 14:41
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: [Ayuda] Leer informacion de sockets.

haces mal en usar @ pues eso oculta los posibles errores que pudieras tener, otra, es no leer el manual...

además, a sabiendas de que connect() devuelve un boolean, ¿porque no comparar lógicamente?
Código PHP:
if ( ! $socket->connect()) echo 'Error al conectar?'
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 15/02/2011, 15:49
 
Fecha de Ingreso: diciembre-2010
Ubicación: valencia
Mensajes: 203
Antigüedad: 13 años, 4 meses
Puntos: 11
Respuesta: [Ayuda] Leer informacion de sockets.

y es el cliente (tu) quien tiene que iniciar la negociacion con el servidor.
  #4 (permalink)  
Antiguo 17/02/2011, 11:56
 
Fecha de Ingreso: mayo-2010
Mensajes: 21
Antigüedad: 13 años, 10 meses
Puntos: 1
Respuesta: [Ayuda] Leer informacion de sockets.

Muchas gracias por responder a los 2, pero ninguna de las respuestas pudo ayudarme.
@pateketrueke de que manual hablas? me lo podrias pasar?
Espero tu respuesta y gracias a los 2.
  #5 (permalink)  
Antiguo 17/02/2011, 11:59
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: [Ayuda] Leer informacion de sockets.

Cita:
Iniciado por aagguuu Ver Mensaje
Muchas gracias por responder a los 2, pero ninguna de las respuestas pudo ayudarme.
@pateketrueke de que manual hablas? me lo podrias pasar?
Espero tu respuesta y gracias a los 2.
¡pues el manual oficial hombre!
http://php.net/sockets
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #6 (permalink)  
Antiguo 17/02/2011, 12:49
Avatar de DeeR  
Fecha de Ingreso: diciembre-2003
Ubicación: Santiago
Mensajes: 520
Antigüedad: 20 años, 4 meses
Puntos: 17
Respuesta: [Ayuda] Leer informacion de sockets.

Hace unos años (2006-2007), implemente una clase para obtener el status de un servidor de Quake 2, la clase es bien sencilla pero tiene mucho código "estudiante", actualmente no está publicada en mi sito, pero si es posible acceder vía archive.org Clase Conexión Q2

Está clase la usamos mucho en ese tiempo, ya que teníamos firmas dinámicas con el status de los servidores, estádisticas globalizadas,etc. cuando la comunidad q2 era muy activa.

De todas formas, lo mejor es que snifees el tráfico de un status hacía el servidor de counter strike (con algún sniffer como el ethereal) y luego trates de imitar la conexión.


Saludos.

Etiquetas: informacion, 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 14:30.