Devuelva con el puerto 80

Experto antes ya te había preguntado sobre esto y en todo lo que dijiste tenias razón por eso estoy de regreso contigo perdón por ser molesto pero es que no soy programador soy de redes y telecomunicaciones y en mi estadía me exigen programar en php y es difícil si no lo conoces.
Bueno mi pregunta de esta vez es:
Para enviar un comando por internet desde una página web hasta un dispositivo que va a recibir este comando y debe enviar la petición (lecturas) de regreso a la página web.
La cosa es que no se como enviar este comando se que es con un fopen, por que tu me dijiste anteriormente, creo que después debe deir la dirección ip y el comando que se va a enviar (el cual obtengo de un textbox por medio de php $_REQUEST[''] ) y por ultimo un fclose(). Pero no conozco la forma de ingresar esta ip, o mejor dicho la sintaxis como debe de ir en php, por lógica creo que debe de ir una función o algo no se como comando de php o palabra reservada un ejemplo: h fer='192.168.xxx.xxx' o algo por el estilo.
Y como haga para que regrese si el dispositivo destino solo solo responde peticiones como va a saber a cual ip va enviar esa petición lo único que se ocurre como estudiado en redes es que el datagrama contiene la ip del destino y del origen por cual podría el dispositivo tomar del datagrama ladireccion y enviarla de regrreso por esa dirección.
Bueno a lo mejor esta ultima parte es más de que me esta fallando la lógica que de programación.
Cabe mencionar que la ip que tiene los dispositivos es una ip estática publica y que en total son 30 dispositivos que tiene que entregar información a un sitio web.
Por favor disculpa por la molestia y gracias por tu ayuda

1 Respuesta

Respuesta
Haría falta saber a qué responden esos dispositivos, y qué protocolo escuchan.
Sabiendo eso se puede 'dialogar con ellos', si es que son capaces.
Estos dispositivos responden a conmandos de modem como por ejemplo ST-para pedir su estatus.. LS etc...
Si son capaces de dialogar ya que antes o mejor dicho actualmente se comunican por medio de un modem .
Una persona realiza una llamada al modem y hace una conexión con hyperterminal y obtiene las lecturas del dispositivo en un archivo txt..
Sobre el protocolo si quiero subirlo a la red pues tiene que ser tcp/ip y si trabajan con el modem el protocolo es zmodem aun que no estoy muy seguro
Si ahora se comunican por módem, dudo mucho que puedas comunicarlo por TCP/IP. Un modem usa una línea telefónica y modula/demodula la información en forma de sonidos.
En cambio los paquetes TCP/IP están formados por ceros y unos en una modulación muy distinta en frecuencia y fase.
Digamos que no tiene nada que ver.
Por lo tanto, hará falta seguir haciendo la llamada por módem y no sé cómo puedes 'fingir' una sesión de hyperterminal. Lo veo muy chungo.
Los dispositivos que son deshumidificadores tienen un puerto serial el cual convierto con otro dispositivo llamado iserver.
iserver:transformar de serial a ethernet.
Mientras que el deshumidificador puedo leer un st en su puerto serial este responde.
Tengo un iserver en mi maquina y uno en el deshumidificador el protocolo tcp/ip se va a llevar acabo entre los dos deshumidificadores.por lo tanto no creo que halla problema con el protcolo.
Mi problema es de programación bueno no es un problema es falta de conocimiento
¡Experto experto creo que ya encontreuna solución a mi problema pero me gustaría que le eches un ojo a ver que te parece
Primera posible solución
<?php
$cadena_serial=$_REQUEST['IP DEL DESTINO'];
echo $cadena_serial;
`mode com7: BAUD=2400 PARITY=n data=8 stop=1 xon=off`;
$fp=fopen("COM7","r+");
fputs($fp,$cadena_serial);
fclose($fp);
?>
Este con el puerto serial ya que puedo salir por dos lados por el serial o por ethernet la cosa con este código es para enviar el comando al dispositivo la verdad no se donde podría ponerlo o como meterlo por hay.
segunda posible solucion
Usando socket la verdad este código lo encontré por la web y parece que hace lo quiero tu que crees experto
<?php
error_reporting(E_ALL);
echo "
<h2>Conexión TCP/IP</h2>
\n";
/* Obtener el puerto para el servicio WWW. */
$puerto_servicio = getservbyname('www', 'tcp');
/* Obtener la direccion IP del host de destino. */
$direccion = gethostbyname('www.example.com');
/* Crear un socket TCP/IP. */
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
if ($socket < 0) {
    echo "socket_create() falló: motivo: " . socket_strerror($socket) . "\n";
} else {
    echo "OK.\n";
}
echo "Intentando una conexión con '$direccion' en el puerto '$puerto_servicio'...";
$resultado = socket_connect($socket, $direccion, $puerto_servicio);
if ($resultado < 0) {
    echo "socket_connect() falló.\nMotivo: ($resultado) " .
         socket_strerror($resultado) . "\n";
} else {
    echo "OK.\n";
}
$entrada = "HEAD / HTTP/1.1\r\n";
$entrada .= "Host: www.example.com\r\n";
$entrada .= "Connection: Close\r\n\r\n";
$salida = '';
echo "Enviando petición HTTP HEAD...";
socket_write($socket, $entrada, strlen($entrada));
echo "OK.\n";
echo "Leyendo respuesta:\n\n";
while ($salida = socket_read($socket, 2048)) {
    echo $salida;
}
echo "Cerrando socket...";
socket_close($socket);
echo "OK.\n\n";
?>
Creo que te estás equivocando. Con la información que has dado ahora, entiendo que los periféricos tienen el conversor iserver, con lo cual podrías conectar por ellos mediante TCP/IP.
Creo que deberías quitar el iserver de tu máquina. Eso sirve para crear un túnel entre tu máquina y un periférico. Pero como tu tienes varios, creo que no te interesa.
Quita el de tu máquina, y prueba a conectar manualmente con cada periférico.
Cuando te funcione el sistema manual, te dedicas a programarlo.
david para terminar con este tema me puedes ayudar con la ejecución del socket desde ms-dos para que se este ejecutando el servidor todo el tiempo mi archivo se llama servidor.php
Es que lo que me pasa es que cuando lo ejecuto desde ms-dos solo se abre el código en dreamweaver y pues yo quiero que se ponga a trabajar como servidor
Para ejecutar el fichero, debes abrirlo desde el navegador (Internet Explorer, Mozilla Firefox o el que tengas).
oko gracia sdavis por tu ayuda y por el tiempo que me brindaste eres un apersona muy amable que dios te bendiga.
Por cierto ya esta jalando el socket servidor solo tenia que dirigirge a la carpeta de php desde el ms-dos. Y ya estando ahí usar los comandos de php para abrir el archivo Servidor.php y BINGO.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas