2009-08-14 10 views
2

Ich habe eine Social-Network-Site ähnlich wie eine MySpace/Facebook-Community, ich benutze PHP/MySQL auf einer LAMP-Setup.
Ich habe immer vielleicht meine eigenen Instant Messenger haben, die ähnlich auf dem PC eines Benutzers gehen würde, dass AIM würde Wie würden Sie ein Instant-Messenger-Programm für eine Website-Benutzerbasis erstellen?

mit meiner Website

arbeiten, ein buddylist im Programm meanning der Nutzer auf meiner Website bestehen würde und auch zeige ein Benutzerbild neben

den Namen und einen Link zu dort Profil auf meiner Website.

Jetzt weiß ich, dass das möglich ist, aber was mich dazu bringen würde, es nicht zu tun, ist die Server-Ressourcen, die es dauern würde. Also frage ich,

wenn Sie dies tun würden, wie würden Sie darüber gehen?

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

Gibt es eine Möglichkeit, einen Benutzer mit einem anderen Benutzer verbinden zu lassen, so dass jede Nachricht zwischen ihnen nicht meine mysql DB trifft?

Irgendwelche Tipps/Beratung/Vorschläge willkommen

Antwort

3

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

http://xmpp.org/

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

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

Wenn Sie einfach eine Ajax-Chat-Funktion auf Ihrer Website möchten, sollten Sie nur online suchen, da es eine Menge von ihnen gibt. Wenn Sie einfach einen Allzweck-Chat-Server haben möchten, verwenden Sie einfach einen Jabber oder IRC.

+0

Agh Mark, du hast meine 5-Minuten Editier-freundliche Zeit verpfuscht. – Unknown

+0

Bwahaha! .... c_c –

1

Peer-to-Peer-Chats haben die gleichen Tücken wie jede Art von P2P-System, und das ist so ziemlich jeder sitzt hinter einer Hardware-Firewall. Praktisch keiner von ihnen weiß, wie man seine Firewall-Regeln ändert und sogar noch weniger.

Sie müssen nicht einen Chat-Server treffen Ihre DB obwohl. 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, eine Nachricht von Client A wird an Client B weitergeleitet. Wirklich schnell, wirklich einfach, kann viele Clients verwalten (wir sprechen hier tausende.). Ich würde empfehlen, dass Sie einen eingeschränkten Nachrichtencache implementieren (sagen wir 5 bis 10 Nachrichten), da nur wenige Dinge dazu führen, dass sich zwei Personen beim Chatten als zufällige Nachrichten verwirren. Cache einige der Nachrichten, verlangen ACK-Signale von den Clients für jede Nachricht ... usw. usw.

5

Codierung SOAP (Simple Object Access Protocol) mit JAVA (und XML) oder jeder anderen Sprache ist viel einfacher und schneller.

Verwandte Themen