elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Security Series.XSS. [Cross Site Scripting]


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  PHP (Moderador: #!drvy)
| | | |-+  Mantener una conexión activa php/ajax
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Mantener una conexión activa php/ajax  (Leído 7,799 veces)
Kizar


Desconectado Desconectado

Mensajes: 1.325


kizar_net


Ver Perfil
Mantener una conexión activa php/ajax
« en: 13 Junio 2009, 22:35 pm »

Bueno la verdad es que estoy haciendo un juego multiplayer basado en ajax y php, el caso es que actualmente lo que hago para que de la impresión de que el juego es en tiempo real es numerar los eventos que se van produciendo y cada usuario hace una petición cada medio segundo indicando el numero del ultimo evento que recibió y así se le enviaran todos los nuevos que haya, funciona muy bien pero produce mucha carga del servicio y gasto de transferencia hacer tantas conexiones, por ejemplo si están jugando 10 personas en una mesa durante media hora serian 36000 conexiones....
He estado buscando una forma de hacer que la conexión sea persistente que se quede abierta para mandarlo todo por esa conexión sin tener que crear una nueva cada x tiempo. Esto me plantea dos dudas, la primera es que no se como hacerlo con ajax y la segunda es que no se si puedo manejar varias conexiones ala vez desde php. Me explico..
Cuando un usuario se conecta se tendría que crear una conexión permanente, o por lo menos que durara un par de minutos y que pudiera mandar información mediante php según se vaya produciendo.

Citar
Un usuario entra en una mesa de juego y conecta con el servidor de tal forma que no se cierra la conexión al recibir datos. Cuando se produce un evento en el juego, por ejemplo otro usuario entra en la mesa de juego desde php tendría que ser capaz de mantener las dos conexiones sin cerrar y de enviar por la primera conexión el evento (usuario xxx conectado) que el usuario uno lo recibiera y haga con ello lo que tenga que hacer y seguir la conexión abierta, si luego se conecta una tercera persona o comienza la partida desde php tendría que ser capaz de enviar ese evento a tantas personas como estén sentadas en la sala.

Esta pagina según he observado con el firebug lo hace y muy bien, mantiene la conexión abierta y va mandando las cartas. Estoy mirando haber si puedo sacar de ahi la idea. (Hace falta registrarse, podéis usar esta cuenta: usuario: nada pass: nada)
http://blackjack.webutils.co.uk/

¿Alguna idea? ¿Es posible hacerlo? ¿Debería postear en el subforo de php?
Gracias a todos los que ayuden.  ;D


« Última modificación: 13 Junio 2009, 22:42 pm por Kizar » En línea

[u]nsigned


Desconectado Desconectado

Mensajes: 2.397

JS/Node developer


Ver Perfil WWW
Re: Mantener una conexión activa php/ajax
« Respuesta #1 en: 13 Junio 2009, 22:44 pm »

Mm..no creo que sea posible con php.

Quisas usando sockets..no se mucho sobre ese tema..pero repito..noo creo que php sea buena opcion para este tipo de cosas.

Recuerda que es un lenguaje del lado del servidor, y que el protocolo HTTP es desconectado.

Quisas debas usar Java para esto, pero eso ya es otro tema...

Saludos


En línea

No hay atajo ante la duda, el misterio se hace aquí...
Se hace carne en cada uno, el misterio es existir!
Kizar


Desconectado Desconectado

Mensajes: 1.325


kizar_net


Ver Perfil
Re: Mantener una conexión activa php/ajax
« Respuesta #2 en: 13 Junio 2009, 22:47 pm »

Esa pagina que he puesto lo hace y usa php y ajax, lo único es que tiene el código  javascript ofuscado y es un royo desencriptarlo, estoy en ello...
En línea

Freeze.


Desconectado Desconectado

Mensajes: 2.732



Ver Perfil WWW
Re: Mantener una conexión activa php/ajax
« Respuesta #3 en: 13 Junio 2009, 23:05 pm »

Tal vez puedas usar hilos para crear conexiones persistentes.
En línea

Kizar


Desconectado Desconectado

Mensajes: 1.325


kizar_net


Ver Perfil
Re: Mantener una conexión activa php/ajax
« Respuesta #4 en: 13 Junio 2009, 23:46 pm »

Después de investigar un poco no es ajax el que cierra la conexión, es php al terminar la ejecución del script, se que se puede dejar una conexión sin cerrar al terminar el script, pero no se como usarla mas tarde...
En línea

>FedeX<

Desconectado Desconectado

Mensajes: 151



Ver Perfil WWW
Re: Mantener una conexión activa php/ajax
« Respuesta #5 en: 14 Junio 2009, 00:17 am »

Intenta usar un bucle infinito y la funcion sleep
En línea

[u]nsigned


Desconectado Desconectado

Mensajes: 2.397

JS/Node developer


Ver Perfil WWW
Re: Mantener una conexión activa php/ajax
« Respuesta #6 en: 14 Junio 2009, 00:24 am »

Intenta usar un bucle infinito y la funcion sleep
La funcion sleep solo 'congela' el script... :huh:

En todo caso deberia usar set_time_limit(0) en el caso de usar sockets.

Saludos
En línea

No hay atajo ante la duda, el misterio se hace aquí...
Se hace carne en cada uno, el misterio es existir!
дٳŦ٭
GNU/Linux Infrastructure Specialist
Ex-Staff
*
Desconectado Desconectado

Mensajes: 5.110


Ver Perfil WWW
Re: Mantener una conexión activa php/ajax
« Respuesta #7 en: 16 Junio 2009, 01:03 am »

mover a php
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Cómo mantener conexion abierta a MySQL?
.NET (C#, VB.NET, ASP)
luison 4 6,898 Último mensaje 15 Febrero 2011, 21:06 pm
por [D4N93R]
Activa manualmente una VPN en Android o Windows 10 para mantener la ....
Noticias
wolfbcn 0 1,288 Último mensaje 15 Julio 2018, 21:33 pm
por wolfbcn
Comprobar Conexión, ¿Activa?
Redes
dafama 5 4,536 Último mensaje 24 Julio 2019, 09:55 am
por dafama
Aplicación para mantener la pantalla activa
Software
Javimon7 4 8,887 Último mensaje 5 Noviembre 2021, 22:08 pm
por Javimon7
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines