Comunidad de diseño web y desarrollo en internet online

Administrar Multiples paginas

Citar            
MensajeEscrito el 13 Oct 2010 09:55 pm
Hola como se podria hacer para hacer una especie de chat en linea con php?? como seria la logica, o como se hace..
La principal parte que quisiera saber es lade identificar la maquina a un usuario.. se que en una variable de php se almacena la ip y el nombre de usuario pero como se le envian cosas a una maquina especifica que esta en nuestra pagina

No hablo de algo emulado.. me refiero a que ocurra por que me avian sujerido que colocara if y sentencias especiales para que la pagina apareciera asi.. pero pongo como ejemplo el MSN o un chat personal.

Por rod00x3

Claber

595 de clabLevel



Genero:Masculino  

msie8
Citar            
MensajeEscrito el 14 Oct 2010 01:27 am
El servidor no puede enviarle nada al cliente a menos que el cliente se lo pida, ese es el modelo cliente-servidor en el que se basa el HTTP, por lo tanto un chat real es imposible de hacer. Lo que sí puedes hacer es que el cliente, mediante JavaScript o AJAX haga peticiones controladas al servidor preguntándole si tiene mensajes nuevos para él.

Aunque para ser más actual, se está experimentando con un mecanismo full duplex entre cliente y servidor, se llama WebSockets el cual sí permitiría hacer un chat real como el IRC, lamentablemente no todos los detalles han sido estandarizados aún y lo que es peor, el navegador más usado actualmente no lo soporta.

Por DriverOp

Claber

2510 de clabLevel



 

opera
Citar            
MensajeEscrito el 14 Oct 2010 03:34 pm
Si algo asi intui, tendrias de casualidad algun ejemplo en el que el cliente le pregunte al servidor y este le conteste exactamente a el, pero saber que le contesto a el ??

Por que podria poner un scrip en el que cuando pase algo muestre algo... pero quiero por ejemplo que si yo y otras 3 personas entramos a la misma pagina pase lo siguiente:

1.- Cada persona sepa quien esta en la pagina.
2.- Poder escribir cosas especificamente a una de las personas y viseversa.
3.- Todo sin refrescar la pagina.

Por rod00x3

Claber

595 de clabLevel



Genero:Masculino  

msie8
Citar            
MensajeEscrito el 14 Oct 2010 06:08 pm
Amigo, cada vez que haces click en un hipervínculo (tag <a>) el navegador (cliente) le está preguntando algo al servidor ("¿tienes este archivo?, si lo tienes, mándamelo"). Y el servidor le contesta exactamente a él :P.
No hay ningún misterio en eso.
Lo que pasa es que en un chat esto sucede automáticamente en el sentido de que el usuario no tiene que hacer nada para que los mensajes aparezcan, este es el punto que debes simular.
Del lado del cliente me parece que es más sencillo pues, si yo tuviera que hacerlo, pondría un temprizador en JavaScript que cada X segundos envíe una petición al servidor (levantando un .php, obviamente) e imprimo el resultado de forma conveniente.
Del lado del servidor se me ocurre que el mecanismo de relay sería así:
Cada vez que un cliente envía un mensaje, lo escribo en un archivo (una tabla SQL tal vez?), miro quiénes están conectados al "canal" (previamente los clientes pasaron por un mecanismo de "login") y registro que esos usuarios aún no han recibido ese mensaje y espero.
Cuando un cliente pregunte ¿hay mensajes nuevos? (el cliente hace esto usando el temporizador previamente comentado) le envío todos los mensajes marcados como no enviados a ese cliente en particular y verifico si queda algún cliente del "canal" al cual no le haya enviado el mensaje, si no queda ninguno, elimino el mensaje.
Creo que ese sería el mecanismo fundamental.
Hay otros detalles por supuesto, pero como guía/ayudamemoria/vuelapluma/sketch o como quieras llamarle, basta.

Por DriverOp

Claber

2510 de clabLevel



 

opera
Citar            
MensajeEscrito el 14 Oct 2010 06:18 pm
si asi es me ayudo mucho para idear como emplearlo.. gracias.

Por rod00x3

Claber

595 de clabLevel



Genero:Masculino  

msie8

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.