Foros del Web » Programando para Internet » PHP »

chat en tiempo real con cierta falla

Estas en el tema de chat en tiempo real con cierta falla en el foro de PHP en Foros del Web. hola ... veran estuve inspeccionando algo sobre como hacer actualizacion del chat en tiempo real ... y evitar el refresh y encontre este codigo ... ...
  #1 (permalink)  
Antiguo 07/05/2014, 00:27
 
Fecha de Ingreso: mayo-2010
Mensajes: 215
Antigüedad: 13 años, 11 meses
Puntos: 4
Pregunta chat en tiempo real con cierta falla

hola ... veran estuve inspeccionando algo sobre como hacer actualizacion del chat en tiempo real ... y evitar el refresh y encontre este codigo ...


php:

Código PHP:
<?php session_start();
$config['db_host'] = 'localhost';
    
$config['db_name'] = '';
    
$config['db_user'] = '';
    
$config['db_pass'] = '';
$link = @mysql_connect($config['db_host'],$config['db_user'],$config['db_pass'])or die ('Ha fallado la conexi&oacute;n');
@
mysql_select_db($config['db_name'], $link)or die ('Error al seleccionar la Base de Datos');?>
<?php 

ob_start
();
set_time_limit(0);
for(;;)
{
    
    
$rs=mysql_query('SELECT * FROM chat_mensajes WHERE IDMensaje>' $id ' AND WEEK(DatFecha,1)=WEEK(NOW(),1) AND YEAR(DatFecha)=YEAR(NOW()) ORDER BY IDMensaje')
or die (
'No se puede realizar la consulta');

if(
mysql_num_rows($rs)>0)
{
while(
$fila=mysql_fetch_array($rs,MYSQL_ASSOC)) {
    
    
$id=$fila["IDMensaje"];
    
    echo 
'<div>\n';
echo 
'<span>' $fila["DatFecha"] . ' ' '</span>';
echo 
'<span>' $fila["StrUsuario"] . '&gt;</span>';
echo 
'<span>' $fila["StrMensaje"] . '</span>';
echo 
'</div>\n';
}

echo 
'<script>scrollTo(0,999999999);</script>\n';
ob_flush();
flush(); 
}
sleep(3);
}
?>
con la tabla siguiente ... "chat_mensajes.sql"

Código PHP:
/*
Navicat MySQL Data Transfer

Source Server         : server
Source Server Version : 50051
Source Host           : localhost:3306
Source Database       : pokemon

Target Server Type    : MYSQL
Target Server Version : 50051
File Encoding         : 65001

Date: 2014-05-07 01:25:01
*/

SET FOREIGN_KEY_CHECKS=0;
-- ----------------------------
-- 
Table structure for `chat_mensajes`
-- ----------------------------
DROP TABLE IF EXISTS `chat_mensajes`;
CREATE TABLE `chat_mensajes` (
  `
IDMensajeint(11) default NULL,
  `
DatFechadatetime default NULL,
  `
StrUsuariovarchar(20) default NULL,
  `
StrMensajevarchar(100) default NULL
ENGINE=MyISAM DEFAULT CHARSET=utf8;

-- ----------------------------
-- 
Records of chat_mensajes
-- ----------------------------
INSERT INTO `chat_mensajesVALUES ('1''2014-05-06 01:09:18''sim''fff2');
INSERT INTO `chat_mensajesVALUES ('2''2014-05-07 01:09:14''sim2''sss');
INSERT INTO `chat_mensajesVALUES ('3''2014-05-07 01:09:09''sim3''asd'); 
lo que hace es dar solo el nuevo contenido, dejando lo que ya mostro y asi evitamos que cargue tooooooodo desde 0 ...

pero donde lo encontre parece que no quisieron dejar el codigo sin error porque al parecer cuando lo pruebo me carga los 3 mensajes ilimitadamente ...

hay alguien que podria echarme una mano porfavor... se lo agradeceria

Última edición por Triby; 07/05/2014 a las 05:15 Razón: Quitar configuración de fuente
  #2 (permalink)  
Antiguo 07/05/2014, 04:15
Avatar de Italico76  
Fecha de Ingreso: abril-2007
Mensajes: 3.303
Antigüedad: 17 años
Puntos: 292
Respuesta: chat en tiempo real con cierta falla

Disculpa, la fuente es esta ? veo falta el formulario para enviar los mensajes ... solo recibe y muestra

Creeria que ese script seria cargado desde un cliente en JS


Me suscribo al tema :)
__________________
Salu2!

Última edición por Italico76; 07/05/2014 a las 07:25
  #3 (permalink)  
Antiguo 07/05/2014, 08:39
 
Fecha de Ingreso: mayo-2010
Mensajes: 215
Antigüedad: 13 años, 11 meses
Puntos: 4
Respuesta: chat en tiempo real con cierta falla

Cita:
Iniciado por Italico76 Ver Mensaje
Disculpa, la fuente es esta ? veo falta el formulario para enviar los mensajes ... solo recibe y muestra

Creeria que ese script seria cargado desde un cliente en JS


Me suscribo al tema :)
hola Italico gracias por responder, si de ahi lo saque x.x tienes alguna idea como podria corregir o adicionar lo que le falta :/ ?
  #4 (permalink)  
Antiguo 07/05/2014, 08:56
Avatar de Eleazan  
Fecha de Ingreso: abril-2008
Ubicación: Ibiza
Mensajes: 1.879
Antigüedad: 16 años
Puntos: 326
Respuesta: chat en tiempo real con cierta falla

Buenas, un par de cosas:

· Estás usando un código del 2005. Hace casi 10 años de eso
· El uso de las funciones mysql_* está desaconsejado (obsoletas), deberias usar mysqli o pdo
· El script sería del "lado servidor". No es óptimo.
· Probablemente, en un hosting compartido, set_time_limit(0); no funcionaria...
· Te faltaria la interfaz para "añadir" mensajes. Ese solo los muestra.
· Yo usaria un sistema con PHP + AJAX, y así no tendrías que recargar la página ;)

Tiene que haber 1000 webchats por ahi, supongo q más actualizados (y completos, pq esa fuente sólo te da una idea general de cómo se podría haber hecho hace 10 años...)

Saludos
__________________
>> Eleazan's Source
>> @Eleazan
  #5 (permalink)  
Antiguo 07/05/2014, 10:40
 
Fecha de Ingreso: mayo-2010
Mensajes: 215
Antigüedad: 13 años, 11 meses
Puntos: 4
Respuesta: chat en tiempo real con cierta falla

Cita:
Iniciado por Eleazan Ver Mensaje
Buenas, un par de cosas:

· Estás usando un código del 2005. Hace casi 10 años de eso
· El uso de las funciones mysql_* está desaconsejado (obsoletas), deberias usar mysqli o pdo
· El script sería del "lado servidor". No es óptimo.
· Probablemente, en un hosting compartido, set_time_limit(0); no funcionaria...
· Te faltaria la interfaz para "añadir" mensajes. Ese solo los muestra.
· Yo usaria un sistema con PHP + AJAX, y así no tendrías que recargar la página ;)

Tiene que haber 1000 webchats por ahi, supongo q más actualizados (y completos, pq esa fuente sólo te da una idea general de cómo se podría haber hecho hace 10 años...)

Saludos
bueno gracias, se que estoy usando un codigo primitivo, de todos modos quisiera que alguien me ayudara con este codigo
  #6 (permalink)  
Antiguo 07/05/2014, 10:50
Avatar de Italico76  
Fecha de Ingreso: abril-2007
Mensajes: 3.303
Antigüedad: 17 años
Puntos: 292
Respuesta: chat en tiempo real con cierta falla

@helion : realmente sin Ajax (o Comet) o Algo mas! eso no va a funcionar (excepto que recargues la pagina cada tanto tiempo como te dicen) porque de alguna forma tienes que comunicarte con la base de datos que esta en el servidor donde llegan todos los mensajes tuyos y de los otros usuarios con los que conversas.

Ejemplo de un chat sencillo pero que recarga la pagina
__________________
Salu2!

Última edición por Italico76; 07/05/2014 a las 10:58

Etiquetas: chat, falla, fecha, mysql, real, select, sql, tabla, tiempo
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 13:59.