Comment feriez-vous un programme de messager instantané pour une base d'utilisateurs de sites Web?

StackOverflow https://stackoverflow.com/questions/1275801

  •  16-09-2019
  •  | 
  •  

Question

J'ai un site de réseau social similaire dans la conception d'une communauté de type MySpace / Facebook, j'utilise PHP / MySQL sur une configuration de lampe.
J'ai toujours voulu avoir mon propre messager instantané qui irait sur le PC d'un utilisateur similaire à AIM qui fonctionnerait

Avec mon site, signifier une buddylist dans le programme se composerait d'utilisateurs sur mon site et aussi pour afficher une image d'utilisateurs à côté de

Le nom et un lien vers leur profil sur mon site.

Maintenant, je sais que c'est possible, mais ce qui me ferait vouloir le faire, ce sont les ressources du serveur qu'il faudrait. Alors je demande,

Si vous deviez faire cela, comment allez-vous y procéder?

Dans quelle langue feriez-vous le programme .exe?

Y a-t-il une part pour que un utilisateur se connecte à un autre utilisateur afin que chaque message entre eux ne frappe pas ma base de données MySQL?

Tous les conseils / conseils / suggestions bienvenue

Était-ce utile?

La solution

Je vous recommande d'utiliser XMPP, le protocole de base pour Jabber.

http://xmp.org/

C'est un protocole que de nombreux sites Web utilisent comme Google Talk.

Vous aurez besoin d'une base de données si vous souhaitez tenir des journaux évidemment. S'il est purement en temps réel, vous n'aurez peut-être pas besoin de stocker des messages via la base de données.

Si vous voulez simplement une fonction de chat AJAX sur votre site Web, vous devez simplement rechercher en ligne car il y en a une tonne. Si vous voulez simplement un serveur de chat tout utile, utilisez simplement un jabber ou un IRC.

Autres conseils

SOAP de codage (protocole d'accès à objet simple) à l'aide de Java (et XML) ou de toute autre langue est beaucoup plus facile et plus rapide.

Les chats de pair aux pairs ont les mêmes pièges que n'importe quelle sorte de système P2P et c'est que à peu près tout le monde est assis derrière un pare-feu matériel. Pratiquement aucun d'entre eux ne sait comment changer leurs règles de pare-feu et encore moins le ferait de toute façon.

Vous n'avez cependant pas à faire appuyer sur votre DB. Le protocole de chat le plus simple ne serait vraiment rien de plus qu'une sorte de proxy. Le client A se connecte au serveur, le client B se connecte au serveur, le message du client A est transmis au client B. Vraiment rapide, vraiment simple, peut gérer beaucoup de clients (nous parlons de milliers ici.). Je vous recommande de mettre en œuvre un cache de messages limité (disons 5 à 10 messages) car peu de choses confondent deux personnes qui discutent alors que les messages aléatoires sont abandonnés. Cache quelques-uns des messages, demandez des signaux ACK des clients pour chaque message ... etc. etc. etc.

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