2010-07-17 11 views
4

Vous voulez construire un système de messagerie instantanée basé sur le Web similaire à www.chatzy.com La question est de savoir quelle est la meilleure façon de s'y prendre?Meilleure façon de créer une messagerie instantanée Web?

Allez-y de la façon Ajax, où j'écris un script qui pige et met à jour continuellement une base de données pour votre conversation?

Ou jouer avec XMPP?

Si la réponse est XMPP? J'apprécierais n'importe quel pointeur vers n'importe quelle ressource en ligne qui détaille comment XMPP peut être employé dans la construction de tels services ... (Fait quelques recherches par google mais les résultats sont venus en vogue)

J'emploierais PHP, mais peux utiliser Python aussi, s'il offre une meilleure solution pour y arriver.

Merci

+1

Si vous souhaitez autoriser vos utilisateurs à envoyer des messages à d'autres personnes en dehors de votre réseau (et pas seulement un chat pour votre site), vous devez absolument utiliser XMPP. – Gumbo

Répondre

4

XMPP/BOSH

  • En ce moment, j'utiliser XMPP/BOSH pour écrire IM Web. J'ai trouvé Prosody le serveur le plus facile qui supporte BOSH. Ensuite, vous n'avez pas besoin d'écrire du code côté serveur.
  • Puis le javascript j'utiliserais strophe.js

L'avenir

  • Comme Pablo a souligné que vous pouvez regarder websockets. Mais Pablo est mal informé sur Gmail. Il n'utilise pas de websockets. L'inconvénient majeur de websockets est le support du navigateur. C'est le futur, mais pas encore.

Mauvais

  • sondages n'échelle. Je ne le recommanderais pas.
+1

Nous utilisons ejabberd comme serveur, il prend également en charge BOSH out of the box. Nous avons également écrit notre propre client javascript basé sur Strophe mais http://www.ijab.im/ semble être une bonne alternative si vous voulez un client standard. –

2

Utilisation d'AJAX pour ping et mettre à jour une base de données n'est pas une très bonne option.

Je vous suggère de lire sur WebSockets. C'est la façon dont le chat de GMAIL (entre autres) fonctionne.

+0

Gardez à l'esprit que le protocole WebSockets peut toujours être modifié. Et peu de navigateurs le supportent pour le moment (ce qui n'est que du bord), vous aurez donc besoin d'utiliser une sorte de repli: http://github.com/gimite/web-socket-js Généralement ce serait le chemin à parcourir . – igorw

1

Si vous cherchez à développer en utilisant PHP et peu de javascript, choisissez Jaxl Framework pour créer des applications Web. http://github.com/abhinavsingh/JAXL

Utilisez ejabberd/prosody comme serveur jabber, ils sont suffisamment stables et évolutifs pour vous offrir un débit suffisant. L'utilisation de websockets est certainement recommandée, mais hélas, tous les navigateurs ne les supportent pas jusqu'à ce jour.

Questions connexes