Foros del Web » Programando para Internet » PHP »

Ejecutar comandos en un servidor mediante Sockets

Estas en el tema de Ejecutar comandos en un servidor mediante Sockets en el foro de PHP en Foros del Web. Hola, tengo una duda, tenemos una aplicacion que mediante sockets se conecta a un servidor por medio de el puerto 2000 y que ejecuta el ...
  #1 (permalink)  
Antiguo 13/04/2010, 15:11
 
Fecha de Ingreso: noviembre-2007
Mensajes: 504
Antigüedad: 16 años, 5 meses
Puntos: 2
Ejecutar comandos en un servidor mediante Sockets

Hola, tengo una duda, tenemos una aplicacion que mediante sockets se conecta a un servidor por medio de el puerto 2000 y que ejecuta el comando "n"
esto ocasiona una respusta, me gustaria hacer esto con php pero no se como mandarle al servidor ese comando "n", muestro una captura de la app:

Mi codigo es:
Código:
<?
$server="155.127.71.37";
$puerto=2000;
$conec= fsockopen($server,$puerto);
if(!conec) {
echo ("No se puede conectar");
} else {
echo ("Conexión realizada");
fclose($conec);
}
?>
Pero lo que quiero saber es como le paso ese comando y como imprimo la respuesta en pantalla.
Saludos
  #2 (permalink)  
Antiguo 13/04/2010, 15:30
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: Ejecutar comandos en un servidor mediante Sockets

El resultado de fsockopen es un stream, por lo que puedes escribir en él usando fwrite() para enviar el comando y leer los resultados usando fread().

Saludos.
  #3 (permalink)  
Antiguo 14/04/2010, 10:30
 
Fecha de Ingreso: noviembre-2007
Mensajes: 504
Antigüedad: 16 años, 5 meses
Puntos: 2
Respuesta: Ejecutar comandos en un servidor mediante Sockets

Hola, lo intento asi y no me sale, que estoy hsciendo mal?
Saludos
Código:
<?
$server="155.127.71.37";
$puerto=2000;
$conec= fsockopen($server,$puerto);
if(!conec) {

echo ("No se puede conectar");
} else {
fwrite($conec,"n");
$viw=fread($conect,"n");
echo$viw;
echo ("Conexión realizada");
fclose($conec);
}
?>
  #4 (permalink)  
Antiguo 14/04/2010, 10:42
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: Ejecutar comandos en un servidor mediante Sockets

El segundo parámetro para fread, es la longitud en bytes de lo que quieres leer, no le puedes pasar "n" como parámetro.

Saludos.
  #5 (permalink)  
Antiguo 14/04/2010, 11:10
 
Fecha de Ingreso: noviembre-2007
Mensajes: 504
Antigüedad: 16 años, 5 meses
Puntos: 2
Respuesta: Ejecutar comandos en un servidor mediante Sockets

Le pase 1500 y no me imprime los datos :(
Warning: fread() expects parameter 1 to be resource, null given in C:\AppServ\www\sock.php on line 11
Conexión realizada
Código:
<?
$server="155.127.71.37";
$puerto=2000;
$conec= fsockopen($server,$puerto);
if(!conec) {

echo ("No se puede conectar");
} else {
fwrite($conec,"n");
$viw=fread($conect,1500);
echo$viw;
echo ("Conexión realizada");
fclose($conec);
}
?>
  #6 (permalink)  
Antiguo 14/04/2010, 11:13
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: Ejecutar comandos en un servidor mediante Sockets

Tu variable del stream se llama $conec, no $conect...
  #7 (permalink)  
Antiguo 14/04/2010, 12:16
 
Fecha de Ingreso: noviembre-2007
Mensajes: 504
Antigüedad: 16 años, 5 meses
Puntos: 2
Respuesta: Ejecutar comandos en un servidor mediante Sockets

Hola, muchas gracias ya em devuelve la informacion en pantalla!!
Muchas gracias por tu ayuda :)

Etiquetas: comandos, ejecutar, sockets, servidores
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 10:55.