Wie würden Sie ein sofortiges Messenger -Programm für eine Websites -Benutzerbasis erstellen?

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

  •  16-09-2019
  •  | 
  •  

Frage

Ich habe eine Social -Network -Website, die im Design einer MySpace/Facebook -Community ähnelt. Ich verwende PHP/MySQL auf einem Lampen -Setup.
Ich wollte schon immer meinen eigenen Instant -Messenger haben, der auf dem AIM eines Benutzers ähnelt, der funktionieren würde

Mit meiner Website würde Meding eine Buddylist im Programm aus Benutzern auf meiner Website bestehen und auch ein Benutzerbild neben

Der Name und ein Link zu dort Profil auf meiner Website.

Jetzt weiß ich, dass dies möglich ist, aber was mich dazu bringen würde, es nicht zu tun, sind die Serverressourcen, die es benötigen würde. Also frage ich,

Wenn Sie dies tun würden, wie würden Sie es dann machen?

In welcher Sprache würden Sie das .exe -Programm machen?

Gibt es irgendwie, dass ein Benutzer eine Verbindung zu einem anderen Benutzer herstellt, damit jede Nachricht zwischen ihnen nicht auf meine MySQL -DB klappt?

Alle Tipps/Ratschläge/Vorschläge willkommen

War es hilfreich?

Lösung

Ich empfehle Ihnen, XMPP, das Kernprotokoll für Jabber, zu verwenden.

http://xmpp.org/

Es ist ein Protokoll, das viele Websites wie Google Talk verwenden.

Sie benötigen eine Datenbank, wenn Sie offensichtlich Protokolle beibehalten möchten. Wenn es sich nur um Echtzeit handelt, müssen Sie möglicherweise keine Nachrichten über die Datenbank speichern.

Wenn Sie einfach eine Ajax -Chat -Funktion auf Ihrer Website wünschen, sollten Sie einfach online suchen, da eine Menge von ihnen vorhanden ist. Wenn Sie einfach einen Allzweck -Chat -Server wünschen, verwenden Sie einfach einen Jabber oder IRC.

Andere Tipps

Die Codierungsseife (einfaches Objektzugriffsprotokoll) mit Java (und XML) oder einer anderen Sprache ist viel einfacher und schneller.

Peer -to -Peer -Chats haben die gleichen Fallstricke wie jede Art von P2P -System, und das ist, dass so ziemlich jeder hinter einer Hardware -Firewall sitzt. Praktisch weiß keiner von ihnen, wie sie ihre Firewall -Regeln ändern können, und noch weniger würde es tun.

Sie müssen jedoch keinen Chat -Server auf Ihre DB treffen lassen. Das einfachste Chat -Protokoll wäre wirklich nichts anderes als eine Art Proxy. Client A stellt eine Verbindung zum Server her, Client B stellt eine Verbindung zum Server her, die Nachricht von Client A wird an Client B weitergeleitet. Wirklich schnell, wirklich einfach, kann viele Clients verarbeiten (wir sprechen hier Tausende). Ich würde Ihnen empfehlen, einen begrenzten Nachrichten -Cache (z. B. 5 bis 10 Nachrichten) zu implementieren, da nur wenige Dinge zwei Personen verwechseln, die sich unterhalten, wenn zufällige Nachrichten fallen gelassen werden. Durcharset ein paar Nachrichten, fordern Sie ACK -Signale von den Clients für jede Nachricht an ... usw. usw. usw. usw. usw.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top