Question

J'ai un site réservé aux membres que je voudrais ajouter le chat à (lampe sur une boîte dédiée). Il n'a pas besoin d'être trop complexe, mais doit utiliser les noms d'utilisateur des membres déjà connectés pour le chat.

est un peu d'un projet de côté pour moi, donc je préfère ne pas l'écrire à partir de zéro, si possible, et un script existant ou classe serait idéal. Je l'ai fait un peu de recherche et il ne semble être un penchant vers JSON / Ajax, mais je ne peux pas trouver quoi que ce soit définitif.

Les conseils / pointeurs?

Était-ce utile?

La solution

Voici deux projets qui pourraient vous aider (à la fois AJAX / JSON):

  • jQuery Ajax chat plug-in - simple, plug-in léger pour jQuery . Pas de cloches ou de sifflets, mais il fait le travail.

  • Ajax IM - une application web entière qui tente d'émuler toutes les fonctionnalités on pourrait attendre dans un client de messagerie instantanée de bureau. Taille de téléchargement assez costaud (324KB compressé).

J'utilise actuellement la première pour un système de messagerie instantanée de base sur l'un de mes projets. Je suis en mesure de le mettre en œuvre en utilisant les informations d'identification du système de chaque utilisateur (car ils sont déjà connectés dans le système - au lieu de les laisser choisir leur propre surnom). L'échantillon inclut le code source PHP pour le script qui est interrogé par l'AJAX. Il fonctionne très bien.

Autres conseils

Il existe trois approches couramment prises dans la construction d'un système de dialogue en ligne site web.

  1. Solution applet Java - trouver ou construire une applet Java qui communique avec un serveur de chat. L'applet peut être un client IRC, ou un client de messagerie instantanée sur mesure avec un serveur personnalisé. J'ai même vu certains sites Web utilisent une applet Java comme frontal de communication, où l'interface est tout géré par Javascript et HTML dans le navigateur, mais le Javascript envoie et accepte les événements de l'applet pour exécuter le chat.

  2. AJAX Post / Sondage -. Chaque fois qu'un usage écrit un message, envoyer le message au serveur HTTP, où tous les utilisateurs connectés sont périodiquement l'interrogation de nouveaux messages

  3. Comet - En utilisant principalement Javascript, chaque client établit une connexion à long terme à un serveur HTTP, et tourne au ralenti. Lorsqu'un message est envoyé à l'utilisateur, il est envoyé sur la connexion déjà préexistante. Et au lieu de vote pour eux, les nouveaux messages d'autres utilisateurs flux juste en bas de la même connexion.

Personnellement, je trouve la 3ème option pour être le plus excitant, mais le plus complexe aussi bien. Vous aurez probablement besoin de construire votre propre version d'un serveur HTTP pour supporter la connexion à long terme qui exige la comète. Et comme il y a une limite de 16 bits sur les descripteurs de sockets TCP / IP, vous serez limité à environ 64K prises, par IP, sur votre serveur. (Rappelez-vous, chaque client aura besoin d'une prise ouverte!) Enfin, les techniques de construction Comet code côté client sont très différentes entre les navigateurs. Il existe quelques cadres pour cela, mais vous aurez à les maintenir alors que les nouveaux navigateurs sortent.

Si vous utilisez un petit site, et que vous voulez faire face à un défi surmontable, puis juste aller avec vote AJAX. Il est amusant, il est pas trop dur, et vous apprendrez beaucoup. Si vous ne pouvez pas être dérangé, puis trouver juste un applet Java. Une fois qu'il est configuré avec un serveur correspondant, vous ne serez jamais à vous soucier de le maintenir, puisque cette solution est très client-agnostique. Bien sûr, il faut que le Java Runtime Environment installé sur le client, et que ça va pas toujours être vrai ...

Utilisez AJAX pour envoyer les messages de chat au serveur et la charge des modifications à la boîte de chat périodiquement (prototype a une fonction bien pour faire ce qui va vérifier le serveur pour les données mises à jour (ajax updater périodique)). Sous votre cahier des charges de « pas complexe » c'est à peu près les os nus.

Ah oui, et si vous voulez que les messages de chat à être enregistrés dans une base de données, assurez-vous que vous protéger des injections SQL.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top