2012-06-11 2 views
0

Je suis à la recherche d'ajouter une fonctionnalité de discussion sur mon site (c'est un peu comme un réseau social). Les 2 choses que je voudrais soutenir sont:Message instantané, Salle de discussion - pour LAMP

  • « message instantané » - semblable à ce que FB et GMail fournit, dans laquelle 2 personnes peuvent discuter en temps réel
  • « chat room » - où un groupe de les gens peuvent discuter ensemble (avec la possibilité d'autoriser les individus dans la salle de discussion à échanger des messages privés entre eux - et d'activer ou désactiver cette fonctionnalité). La prise en charge de la webcam est également nécessaire.

Si je devais essayer de mettre en œuvre quelque chose comme ça moi-même, je pense que j'aurais plusieurs options sur la façon de mettre en œuvre cette:

  • Ajax à long polling (probablement le plus facile)
  • Comet/inverse ajax (signifie que je besoin d'un serveur push comme Ape, ce qui est je pense plus complexe)
  • prises Web (mais je suis limité à HTML5)
  • NodeJS (ne savent pas vraiment assez de cette)
  • ???

Là encore, dans l'intérêt d'économiser de l'argent et d'obtenir cette fonctionnalité mis en œuvre dès que possible, peut-être que je suis mieux essayer d'utiliser un progiciel commercial, comme http://www.arrowchat.com/. Problèmes que je vois avec Arrow chat sont:

  • Ce n'est pas JSLinted (et ils ont pas l'intention de le faire)
  • La capacité de transformer fonction "PM" on/off est pas pris en charge

Tout le reste sur Arrow Chat semble bien, cependant.

Il existe également http://www.cometchat.com.

Des suggestions sur la direction que je devrais prendre? Les technologies que j'ai listées sont-elles correctes si j'essayais de les mettre en œuvre par moi-même? Y a-t-il un autre logiciel de chat commercial que je devrais considérer?

+0

Qu'en est-il de Firebase? (http://www.firebase.com/) – Jonas

+0

Les Websockets peuvent être émulées en utilisant Flash, donc non, vous n'êtes pas limité à html5. – Christian

Répondre

1

Vous n'avez pas besoin d'implémenter toutes les couches de transport par vous-même. Vous pouvez soit essayer Socket.IO, qui résume cela ou vous pouvez utiliser un service tel que Pusher.

Questions connexes