2009-06-06 6 views
2

Je cherche à mettre en œuvre une application de chat en ligne de 1 utilisateur à utilisateur pour un nouveau site Web dans les travaux. Quelque chose de similaire à Omegle est le but pour le produit final. Est-ce que quelqu'un sait des solutions prêtes à l'emploi qui sont capables de cela? En raison de mon expérience, PHP est le langage de prédilection. Omegle a été écrit en Python en utilisant la bibliothèque tordue. Est-ce que quelqu'un pourrait donner des conseils sur une solution de mise en réseau entre les utilisateurs via PHP?Application de chat web d'utilisateur à utilisateur (PHP) - quel choix?

Merci d'avance pour l'aide. Comme vous avez pu le constater, je ne me suis pas aventuré loin des sites grand public, donc bien que PHP soit bien, la couche de connexion/réseau est assez étrangère à moi.

Lobe

lecteur de temps longue, première affiche de temps

Répondre

2

Il existe un certain nombre de solutions basées sur Jabber avec un client JS ou Flash. Un serveur facile à installer est Openfire et la société qui publie le serveur (open source), a également des services pour faciliter l'intégration sur les sites Web. Au site Web précédent sur lequel j'ai travaillé, j'ai installé le serveur, mais quelqu'un a écrit un client basé sur le flash (c'est problématique, je ne le referais pas pour le client), mais le serveur lui-même fonctionnait parfaitement avec deuxièmes réponses. Il avait remplacé un système de discussion basé sur AJAX interne, mais avec une fraction de la base client l'utilisant, ce client ajax était responsable de 72% des hits HTTP contre le site web (et sans cela nous avons fait 700K + coups/jour). Aller Jabber-basé a enlevé ceux du jour au lendemain et a aidé à accélérer le site. Le système Jabber pourrait également être mis à l'échelle 10 fois avec très peu de travail supplémentaire.

+0

Merci pour le conseil sur Openfire.Après avoir regardé un peu plus, je vais probablement utiliser Openfire avec un client basé sur AJAX jusqu'à ce que mes besoins justifient quelque chose d'un peu plus efficace, comme un client flash – Lobe

0

L'ancienne façon traditionnelle de le faire est de servir une page, qui contient tous les messages de chat. La page est actualisée régulièrement par le navigateur de l'utilisateur. Mais cette façon de procéder est un peu bancale, car elle entraîne des scintillements, un rechargement complet de la page et des problèmes de publication.

L'autre bonne façon de le faire est d'utiliser Ajax pour vérifier les nouveaux messages et les poster.

recherche sur Google donne de bons résultats: http://www.phpfreechat.net/

+0

Merci pour le lien, bien que ce que je cherche est un facilitateur pour un chat de style de messagerie instantanée 1 sur 1, plutôt qu'un forum de discussion comme Php Free Chat Does. S'il n'y a pas de solution prédéfinie disponible, le codage de l'interface frontale ne devrait pas être trop difficile, mais plutôt comment connecter différents utilisateurs PHP ensemble – Lobe

1

Vous ne pouvez pas "connecter les différents utilisateurs de php ensemble". Tout ira de l'utilisateur1 au serveur et de l'utilisateur2 au serveur. Ensuite, le navigateur de chaque utilisateur doit périodiquement interroger le nouveau contenu. Quand vous dites "la couche de connexion/réseau est assez étrangère à moi" j'ai l'impression que vous pensez pouvoir le faire sans que les navigateurs interrogent le serveur. Tu ne peux pas. Je n'ai pas utilisé phpfreechat, mais s'il a la capacité de faire différentes pièces, vous pouvez vérifier s'il est viable en configurant des pièces uniques pour chaque paire d'utilisateurs.

+0

Je pense que je l'ai mal formulé. Par "connecter différents utilisateurs PHP ensemble", je faisais référence à la façon de partager les données sur le côté serveur. Ma pensée ususal pour ceci serait une base de données, cependant ce serait trop inefficace pour un programme de causerie. Par "la couche de connexion/réseau est assez étrangère à moi", je parlais de la même chose. Je vois le flux étant ceci: client -> php -> récupérer des informations d'un autre utilisateur -> php -> client, avec client -> php fait via AJAX – Lobe

Questions connexes