Foros del Web » Programando para Internet » PHP »

Escuchar puerto UDP PHP

Estas en el tema de Escuchar puerto UDP PHP en el foro de PHP en Foros del Web. Saludos a todos. Estudio ingeniería electrónica y estoy haciendo un proyecto relacionado con el monitoreo de vehículos. Cuento con un módem GPS que envía paquetes ...
  #1 (permalink)  
Antiguo 21/10/2011, 21:32
 
Fecha de Ingreso: octubre-2011
Ubicación: Barranquilla, Colombia
Mensajes: 4
Antigüedad: 12 años, 6 meses
Puntos: 1
Escuchar puerto UDP PHP

Saludos a todos. Estudio ingeniería electrónica y estoy haciendo un proyecto relacionado con el monitoreo de vehículos. Cuento con un módem GPS que envía paquetes UDP a un puerto determinado en un servidor.

Hasta ahora, en una página index.php uso las funciones socket_create, socket_bind, socket_set_nonblock y socket_recvfrom para recibir la trama en una variable $buf y luego separo el string para guardar en campos la información de latitud y longitud de una base de datos. Esto solo funciona cuando se abre index.php en un navegador, momento en el cual espera el siguiente paquete para llenar $buf, guardar lat y long y cargar un mapa. Luego se recarga automáticamente la página y queda de nuevo esperando un paquete UDP para hacer todo el proceso. Si no se abre index.php o le quito la recarga automática no se recibe el paquete.

¿Me podrían recomendar una tecnología o método para que se puedan recibir las tramas y guardar los campos en una base de datos sin necesidad de tener la página abierta en un navegador, independientemente del cliente?

Espero haber sido claro y estoy atento a sus respuestas.

Muchas gracias de antemano.
  #2 (permalink)  
Antiguo 21/10/2011, 21:47
Avatar de Sourcegeek
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: $mex['B.C.'];
Mensajes: 1.816
Antigüedad: 14 años, 11 meses
Puntos: 322
Respuesta: Escuchar puerto UDP PHP

Sinceramente nunca he trabajado con puertos UDP en PHP, pero creo (corrijanme si no) que la única forma es la que tienes actualmente: un cliente que esté escuchando constantemente al puerto.

Suerte,
Saludos!

PD: Bienvenido al foro
__________________
Buscas desarrollador web? Sourcegeek. Diseño web, Maquetación y Programación
¡Escribe bien! Esto es un foro, no un Facebook para que escribas con los pies
  #3 (permalink)  
Antiguo 21/10/2011, 22:06
 
Fecha de Ingreso: octubre-2011
Ubicación: Barranquilla, Colombia
Mensajes: 4
Antigüedad: 12 años, 6 meses
Puntos: 1
Respuesta: Escuchar puerto UDP PHP

Gracias por responder. El cuento es que el módem estará montado en un carro que se desplaza todo el día pero tener un cliente todo el día escuchando... Además, si no se envían o no llegan datos al puerto no carga el mapa; siempre espera al siguiente paquete por lo del socket_set_block. Sigo atento.
  #4 (permalink)  
Antiguo 22/10/2011, 03:30
Avatar de Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años
Puntos: 406
Respuesta: Escuchar puerto UDP PHP

basicamente es "Imposible" hacerlo en PHP sin "tronar" el servidor, tendrías que tener corriendo el interprete en todo momento, por lo cual el servidor quedaria completamente "trabado" ya que consumirias todos los recursos del servidor, también por lo anterior es probable que en un corto lapso el hosting bloque tu cuenta por uso excesivo de recursos, para eso es necesario un programa "ejecutable" que pueda mantener en todo momento a la escucha del puerto sin tener ocupado Apache ni el interprete de PHP, ahorrando recursos
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje personal =)
  #5 (permalink)  
Antiguo 22/10/2011, 04:22
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 11 meses
Puntos: 1517
Respuesta: Escuchar puerto UDP PHP

Si ya lo haces por el navegador, que tal si usas ¿command line? pero en el servidor. Es similar a lo del navegador, solo que en vez de hacerlo desde el cliente, lo haces en el servidor. También podrías usar un navegador abierto en el servidor...
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #6 (permalink)  
Antiguo 22/10/2011, 21:15
 
Fecha de Ingreso: octubre-2011
Ubicación: Barranquilla, Colombia
Mensajes: 4
Antigüedad: 12 años, 6 meses
Puntos: 1
Respuesta: Escuchar puerto UDP PHP

Gracias a todos por responder. ¿Será que usando AJAX es posible conseguir lo que necesito? Tendré en cuenta las opciones del ejecutable y del command line.
  #7 (permalink)  
Antiguo 28/10/2011, 19:01
 
Fecha de Ingreso: octubre-2011
Ubicación: Barranquilla, Colombia
Mensajes: 4
Antigüedad: 12 años, 6 meses
Puntos: 1
Respuesta: Escuchar puerto UDP PHP

Bueno, por si le sirve a alguien, lo solucioné creando un archivo .bat que se puede ejecutar constantemente para correr un script PHP que recibe el paquete. index.php solo se dedica a consultar la base de datos.

Muchas gracias a todos.

Etiquetas: socket, udp
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.
Tema Cerrado

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 22:59.