Foros del Web » Programando para Internet » PHP »

Websocket apache

Estas en el tema de Websocket apache en el foro de PHP en Foros del Web. Buenas, Necesito crear un sistema de votos y chat. Estos se deben actualizar en tiempo real. después de mirar varias formas encontré dos que podría ...
  #1 (permalink)  
Antiguo 19/07/2012, 13:15
 
Fecha de Ingreso: noviembre-2007
Mensajes: 471
Antigüedad: 16 años, 5 meses
Puntos: 2
Websocket apache

Buenas,

Necesito crear un sistema de votos y chat. Estos se deben actualizar en tiempo real. después de mirar varias formas encontré dos que podría hacerlo para que se pueda actualizar en tiempo real pero no se cual es la mejor.

1)http://www.ape-project.org/

2) http://www.flynsarmy.com/2012/02/php...plication-2-0/

Me interesaría mas hacerlo por la opción 2 pero no explica como configurar el apache para que permita trabajar con websocket.

Alguien sabe?? que me recomiendan??

Un saludo
  #2 (permalink)  
Antiguo 19/07/2012, 13:20
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: Websochet apache

La opción 2, no usa Apache, usa PHP puro para abrir un socket y poder aceptar las peticiones.

Saludos.
  #3 (permalink)  
Antiguo 19/07/2012, 14:09
 
Fecha de Ingreso: noviembre-2007
Mensajes: 471
Antigüedad: 16 años, 5 meses
Puntos: 2
Respuesta: Websochet apache

GatorV, pero si php necesita de apache para poder correr.
  #4 (permalink)  
Antiguo 19/07/2012, 14:32
Avatar de jotaincubus  
Fecha de Ingreso: mayo-2005
Ubicación: Medellin - Colombia
Mensajes: 1.797
Antigüedad: 19 años
Puntos: 394
Respuesta: Websochet apache

Cita:
GatorV, pero si php necesita de apache para poder correr.
No exactamente, puedes correr codigos PHP en un servidor windows con Internet Information Server
__________________
Por que existe gente que no agradece después de que se le ha brindado tiempo y ayuda ???
  #5 (permalink)  
Antiguo 19/07/2012, 15:02
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: Websochet apache

No necesariamente, Apache es un servidor web que usa sockets, de hecho a partir de PHP 5.4 PHP ya tiene un servidor interno de pruebas, y todo responde básicamente a sockets TCP sobre el puerto 80.

La clase que indicas tú mismo más arriba hace eso pero con el protocolo de WebSockets, por lo que no es necesario usar Apache, ni IIS.

Igual yo no usaría ese script para un ambiente de producción, no se que tan escalable sea cuando tienes muchos clientes, en cambio el link uno ellos dicen soportar hasta 100,000 clientes en un solo nodo por lo que sería una solución más efectiva.
  #6 (permalink)  
Antiguo 19/07/2012, 15:05
 
Fecha de Ingreso: noviembre-2007
Mensajes: 471
Antigüedad: 16 años, 5 meses
Puntos: 2
Respuesta: Websochet apache

pero entonces como hago para que me funcione el ejemplo ya que me aparece status desconectado.
  #7 (permalink)  
Antiguo 19/07/2012, 15:26
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: Websochet apache

Pues ahí mismo te dice:
Cita:
How to Run It

After downloading, simply open a terminal and type
php5 ./server.php
Then load it up in your browser.
Saludos.
  #8 (permalink)  
Antiguo 20/07/2012, 00:42
 
Fecha de Ingreso: noviembre-2007
Mensajes: 471
Antigüedad: 16 años, 5 meses
Puntos: 2
Respuesta: Websochet apache

entonces como me recomiendan hacer estos sistema en tiempo real??
  #9 (permalink)  
Antiguo 20/07/2012, 01:20
Avatar de Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años, 1 mes
Puntos: 406
Respuesta: Websochet apache

Depende mucho para que vas a hacer la aplicación, para uso general (cualquiera podrá usarlo) o para uso privado (muy poca gente lo usará), si es lo primero yo me iva a algo mas estandarizado, que sería programar el servidor en C/C++ o de perdida en java y con flash/applet conectar los clientes, pero pues depende mucho lo que al final pretendas hacer
__________________
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 =)
  #10 (permalink)  
Antiguo 20/07/2012, 07:01
 
Fecha de Ingreso: noviembre-2007
Mensajes: 471
Antigüedad: 16 años, 5 meses
Puntos: 2
Respuesta: Websochet apache

Cita:
Iniciado por Nemutagk Ver Mensaje
Depende mucho para que vas a hacer la aplicación, para uso general (cualquiera podrá usarlo) o para uso privado (muy poca gente lo usará), si es lo primero yo me iva a algo mas estandarizado, que sería programar el servidor en C/C++ o de perdida en java y con flash/applet conectar los clientes, pero pues depende mucho lo que al final pretendas hacer
si pero yo conocimientos en C/C++ no tengo. mi idea es hacer ambos sistemas en real-time.

Encontre esta web que te agrega el modulo websocket para apache.

https://github.com/disconnect/apache-websocket

que dicen??
  #11 (permalink)  
Antiguo 20/07/2012, 07:18
Avatar de Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años, 1 mes
Puntos: 406
Respuesta: Websochet apache

Eso me da a suponer que no buscas mas opciones fuera de PHP/Javascript, si es así, yo preferiría usar la primera opción que diste, o incluso mejor, usar NodeJS, que esta mas extendido y hay mas documentación, personalmente no me parece del todo adecuado usar PHP para el uso de sockets por el tema de velocidad/escalabilidad, prefiero usar algo que directamente esta desarrollado para ello...
__________________
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 =)
  #12 (permalink)  
Antiguo 20/07/2012, 09:14
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: Websochet apache

Como te dijo Nemutagk, si es un proyecto grande donde esperas muchos clientes, yo me inclinaría por la opción 1 (ape-project), o usar NodeJS, o algún servidor preparado para ello, no usaría Apache ni de chiste, es muy sabido que Apache no es bueno para manejar este tipo de requests, ya que su trabajo es otro y esta orientado totalmente a otra plataforma.

Si solo quieres como testear y es algo simple para poca gente, puedes usar perfectamente la opción 2 que ya tenías, solo necesitas un servidor dedicado con acceso SSH para poder iniciar el servidor php y lo tengas en paralelo con el servidor Apache, y así puedas hacer el ejemplo.

De hecho en ambas opciones necesitas un servidor dedicado, no puedes hacer lo que buscas en un ambiente de "shared hosting" (como la mayoría de los servidores actuales) así que más bien primero verifica el alcance de tu proyecto.
  #13 (permalink)  
Antiguo 20/07/2012, 10:03
 
Fecha de Ingreso: noviembre-2007
Mensajes: 471
Antigüedad: 16 años, 5 meses
Puntos: 2
Respuesta: Websochet apache

Cita:
Iniciado por GatorV Ver Mensaje
Como te dijo Nemutagk, si es un proyecto grande donde esperas muchos clientes, yo me inclinaría por la opción 1 (ape-project), o usar NodeJS, o algún servidor preparado para ello, no usaría Apache ni de chiste, es muy sabido que Apache no es bueno para manejar este tipo de requests, ya que su trabajo es otro y esta orientado totalmente a otra plataforma.

Si solo quieres como testear y es algo simple para poca gente, puedes usar perfectamente la opción 2 que ya tenías, solo necesitas un servidor dedicado con acceso SSH para poder iniciar el servidor php y lo tengas en paralelo con el servidor Apache, y así puedas hacer el ejemplo.

De hecho en ambas opciones necesitas un servidor dedicado, no puedes hacer lo que buscas en un ambiente de "shared hosting" (como la mayoría de los servidores actuales) así que más bien primero verifica el alcance de tu proyecto.
Tengo un dedicado con debian. La opcion 1 (ape-project) se utiliza apache entonces no tendria buen rendimiento como vos decis, no?? podria hacer la nodeJS pero no se como enlazar con php. saben alguna web que lo explique??
  #14 (permalink)  
Antiguo 20/07/2012, 10:22
Avatar de Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años, 1 mes
Puntos: 406
Respuesta: Websocket apache

Que tipo de enlace pretendes hacer?, de manera general, hay una clase que anda rondando en internet, creo recordar que se llama DNode-php, pero tiene 2 cosas, funciona sobre sockets para la conexión entre NodeJS y PHP, para lo cual volvemos al problema de escalabilidad/velocidad/estabilidad, y la otra es que personalmente no pude echar a andar la aplicación y que la conexión fuera exitosa o se mantuviera abierta, la otra es a base de "peticiones" http directamente a PHP/Apache, la que me ah funcionado muy bien hasta ahora, si pretendes seguir esta opción en la wiki de NodeJS esta toda la información sobre http.request y como implementarlo...
__________________
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 =)
  #15 (permalink)  
Antiguo 20/07/2012, 11:29
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: Websocket apache

Creo que más bien lo que debes de empezar a ver es que no todo lo puedes hacer en PHP, si bien PHP es un lenguaje muy bueno para ciertas tareas, hay otras para la que no es el más adecuado.

Si tienes un dedicado con Debian entonces ve por el ejemplo 1 y diseña todo el backend de tu sistema en PHP, así solo consumes servicios desde APE y haces el push a los clientes.
  #16 (permalink)  
Antiguo 20/07/2012, 14:45
 
Fecha de Ingreso: noviembre-2007
Mensajes: 471
Antigüedad: 16 años, 5 meses
Puntos: 2
Respuesta: Websocket apache

Nemutagk también intente usar la clase DNode-php y no me funciono muy bien.

GatorV, a ver si te entendí, lo que hago es con php + apache hago la programación y consultas de mysql generales y después con el ape la parte del real-time, no???

con respecto a estos que me dices,
empezar a ver es que no todo lo puedes hacer en PHP, si bien PHP es un lenguaje muy bueno para ciertas tareas

es cierto pero para algunas cosas complicadas como estas lo lógico es que uno lo programe con el lenguaje que domine (php) y no con uno que tendría que poner aprendérmelo(nodejs).

creéis que para todo esto lo relacionado con websocket en un futuro no se podrá hacer con php?? ya que si es así me lo iré estudiando el nodejs.

Saludos
  #17 (permalink)  
Antiguo 20/07/2012, 16:01
Avatar de Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años, 1 mes
Puntos: 406
Respuesta: Websocket apache

Probablemente en el futuro PHP soporte de mejor manera sockets, pero en este momento no es el caso, al menos a mi parecer, ya que PHP no esta preparado ni pensado para este tipo de uso como lo puede estar NodeJS que fue desarrollado especialmente para aplicaciones real-time, aparte, seguramente NodeJS evolucione mas rapido de lo que pueda evolucionar PHP en la rama...

Cita:
es cierto pero para algunas cosas complicadas como estas lo lógico es que uno lo programe con el lenguaje que domine (php) y no con uno que tendría que poner aprendérmelo(nodejs)
Si bienes desarrollando paginas web desde hace un rato seguramente ya has trabajado con el lenguaje de programación que se usa en NodeJS, que es Javascript, ni mas ni menos, lo unico que hay que aprender es a usar el "framework" para conocer sus metodos, etc, de hay en fuera todo es lo mismo, incluso es mucho mas sencillo usando socket.io...
__________________
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 =)
  #18 (permalink)  
Antiguo 20/07/2012, 16:05
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: Websocket apache

Exacto, aparte no te puedes centrar en PHP, si bien es un buen lenguaje, tienes que aprender y expandirte, tienes que conocer otras tecnologías, tienes que ser como una navaja suiza, que puedas expandirte y usar código de otras plataformas sin problema.

Aparte como bien te dice Nemutagk, NodeJS usa Javascript, que debes de al menos tener un conocimiento medio al usar ambientes Web.
  #19 (permalink)  
Antiguo 23/07/2012, 00:15
 
Fecha de Ingreso: noviembre-2007
Mensajes: 471
Antigüedad: 16 años, 5 meses
Puntos: 2
Respuesta: Websocket apache

si NodeJS usa Javascript seria posible tener toda la programacion con php y todo lo que sean notificaciones (real time) implementarlo con nodejs???
  #20 (permalink)  
Antiguo 23/07/2012, 00:25
Avatar de Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años, 1 mes
Puntos: 406
Respuesta: Websocket apache

Cita:
Iniciado por Blashak Ver Mensaje
si NodeJS usa Javascript seria posible tener toda la programacion con php y todo lo que sean notificaciones (real time) implementarlo con nodejs???
Eso me hace pensar que realmente no has trabajado con NodeJS, en fin, NodeJS esta pensando para incorporar todo en un solo "servidor", tanto peticiones Http como conexione via websockets, por lo tanto puedes usar ambas opciones o solo una, como mas prefieras, en todo caso solo tendrías que comunicar NodeJS con PHP, de hecho, como comentario personal, veo aun muy verde el uso de NodeJS para servir peticiones Http (tal cual lo hace PHP), así que prefiero algo mas "sóiido" para eso, PHP, Python, etc, solo es cuestión de comunicar ambos servidores...
__________________
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 =)
  #21 (permalink)  
Antiguo 23/07/2012, 06:33
 
Fecha de Ingreso: noviembre-2007
Mensajes: 471
Antigüedad: 16 años, 5 meses
Puntos: 2
Respuesta: Websocket apache

Cita:
Iniciado por Nemutagk Ver Mensaje
Eso me hace pensar que realmente no has trabajado con NodeJS, en fin, NodeJS esta pensando para incorporar todo en un solo "servidor", tanto peticiones Http como conexione via websockets, por lo tanto puedes usar ambas opciones o solo una, como mas prefieras, en todo caso solo tendrías que comunicar NodeJS con PHP, de hecho, como comentario personal, veo aun muy verde el uso de NodeJS para servir peticiones Http (tal cual lo hace PHP), así que prefiero algo mas "sóiido" para eso, PHP, Python, etc, solo es cuestión de comunicar ambos servidores...
Nunca trabaje con nodeJS.
Esto te lo digo porque ya tengo toda la programación en php solo me falta la parte real-time.
Entonces tengo el dedicado en debian montado con apache+php y la web funcionando. lo que pasa que tengo que agregar todas las funciones en real-time.
mi pregunta es, si puedo instalar en ese mismo servidor el nodejs y poner en funcionamiento ambos.
si la respuesta es si, podrías pasarme alguna web que indique como hacerlo.
  #22 (permalink)  
Antiguo 23/07/2012, 07:34
Avatar de Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años, 1 mes
Puntos: 406
Respuesta: Websocket apache

Por supuesto que puedes instalar el interprete junto con PHP/Apache, y puedes tener a ambos corriendo, en el sitio de NodeJS esta todo lo necesario para su instalación, para generar el servidor y el cliente tendrás que buscar un poco mas ya que no hay tanta documentación como uno esperaria...
__________________
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 =)
  #23 (permalink)  
Antiguo 23/07/2012, 09:51
 
Fecha de Ingreso: noviembre-2007
Mensajes: 471
Antigüedad: 16 años, 5 meses
Puntos: 2
Respuesta: Websocket apache

Cita:
Iniciado por Nemutagk Ver Mensaje
Por supuesto que puedes instalar el interprete junto con PHP/Apache, y puedes tener a ambos corriendo, en el sitio de NodeJS esta todo lo necesario para su instalación, para generar el servidor y el cliente tendrás que buscar un poco mas ya que no hay tanta documentación como uno esperaria...
Entonces, el real-time lo gestionare con NodeJS y el resto con php.

Muchas gracias por la ayuda.

Etiquetas: apache
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 15:41.