Chat one to one

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Chat one to one

par Xenon_54 » 15 janv. 2008, 05:00

Si tu n'es pas contraint de conserver des logs des conversations, alors le moteur de table MEMORY de MySQL peut être la solution.

par Patriboom » 15 janv. 2008, 04:12

Tu peux aussi faire appel à du PHP tout construit:

http://www.webdev.ro/products/webchat/ est le chat que j'utilise et ça fonctionne bien.

C'est une table Memory qui en est le coeur.

par Xenon_54 » 15 janv. 2008, 01:35

OK, merci pour vos réponses, je vais mettre ca en place, je reviendrais sur ce post pour vous dire ce qu'il en est :P

Sinon, autres questions, dans le cas d'un chat one to one, est il judicieux d'utiliser le protocole IRC ?
Dans ce cas, PHP n'a plus rien à voir non? Il suffit d'installer un serveur IRC et que le client installe/utilise un client IRC et le tour est joué.

par costadelo » 15 janv. 2008, 00:44

OK, merci pour vos réponses, je vais mettre ca en place, je reviendrais sur ce post pour vous dire ce qu'il en est :P

Sinon, autres questions, dans le cas d'un chat one to one, est il judicieux d'utiliser le protocole IRC ?

par Sékiltoyai » 14 janv. 2008, 23:28

Les tables memory seront plus rapide, mais par contre, il faut que le serveur SQL soit sur la même machine que le site.
Sinon, si c'est disponible, je crois que shmop_open() stocke directement en ram.

Edit : C'est shmop_open(), pas shmopen() :-/

par Xenon_54 » 14 janv. 2008, 20:32

Surement vu que c'est en mémoire.

Cependant les données seront perdus si MySQL plante, est redémarré ou autre truc du genre.

LiveChat (écrit en PHP) utilise des fichiers textes avant de tout passer en BDD lorsque la conversation est terminée.

par costadelo » 14 janv. 2008, 19:18

Ce que je souhaite savoir, c'est si le fait d'utiliser les tables MEMORY est plus performant que de devoir écrire un fichier sur le disque (qu'il soit text, XML, ou autres...)

par Xenon_54 » 14 janv. 2008, 18:53

Et pourquoi pas un fichier texte qui sera inséré dans la BDD à la fin de la conversation?

par costadelo » 14 janv. 2008, 18:48

J'ai un peu peur que dans le cas d'une utilisation simultanée de plusieurs utilisateurs sur le chat cela finisse par être un peu trop lourd niveau requêtes éxécutée dans le fichier php ciblé par le crontab.
Cependant, cela ne répond pas à ma question du début en ce qui concerne la rapidité d'accès à mes informations (écriture et lecture) en fonction de la methode MEMORY ou XML ? Vais - je gagner quelques pouillèmes de temps de réponse si j'utilise la methode MEMORY ? Ou est elle vraiment judicieuse dans ce contexte d'utilisation ?

par Sékiltoyai » 14 janv. 2008, 16:56

Bah, en fait, tu peux l'exécuter très souvent (genre toutes les 10 secondes), et sauvegarder à chaque exécution une seule discussion, voire une discussion terminée.

par costadelo » 14 janv. 2008, 14:33

Oui, bonne idée ! Mais répercuter sur un grand nombre d'utilisateur qui chat en même temps, le crontab n'est il pas trop gourmand en ressources au final ?

par Sékiltoyai » 14 janv. 2008, 14:28

Ou sinon, pour s'assurer que l'écriture se fera vraiment, tu ne peux pas faire un cron exécuté toutes les minutes ?

Chat one to one

par costadelo » 14 janv. 2008, 14:21

Bonjour @ tous,

Je suis actuellement sur le développement d'un chat one to one, et je me demandais s'il était plus judicieux d'utiliser les tables Memory mysql ou des fichiers XML pour l'échange des messages entre utilisateurs.

Les tables Memory ont un temps de réponse plus rapide étant donné que c'est la mémoire qui est sollicité, alors que l'écriture sur le disque d'un fichier XML pourrait quand à lui mettre plus de temps à répondre...Mais étant donné que je doit stocker l'historique des conversations quelque soit mon orientation technique, je me demandais s'il ne fallait pas que je joue justement sur les deux tableaux.
Je m'explique (concis bien sur, j'oubli volontairement des paramètres pour simplifier l'explication) :
Un utilisateur A (expediteur) souhaite prendre contact avec un utilisateur B (Destinataire).
Il faut prévoir d'envoyer le message de l'expediteur A et récupérer le message pour l'afficher à l'utilisateur B.
Deux solutions d'offre à moi?
Soit :
1) je créer un XML lié a la conversation des utilisateur qui me sert de fichier d'échange
2) soit je créer une table Mysql de type Memory qui stocke l'ensemble de la conversation, et selon un évènement côté client (fermeture de fenetre, setintervalle) je décharge cette table pour l'inscrire dans un XML afin de gérer l'historique au fur et à mesure de la conversation. Dans ce cas vous allez me dire pourquoi ne pas utiliser directement le fichier XML ? Et bien je vous répondrai que je suis vraiment dans un soucis de temps de réponse, donc je souhaiterai savoir lequel est le plus rapide selon vous ?

Merci d'avance pour vos réponses