2012-03-26 15 views
0

Ich versuche, eine Chat-Anwendung in .net zu erstellen, aber ich bin verwirrt, um TCP o UDP zu verwenden..net: Erstellen einer Chat-Anwendung mit UDP oder TCP? und XMPP

Es wird viele Benutzer geben, jeder Benutzer muss eine Nachricht an den Hauptserver senden, die diese Nachricht an den Benutzer weiterleiten wird. Wenn der Benutzer nicht online ist, müsste ich die Nachricht für den späteren Versand speichern.

Natürlich muss jede Nachricht, die ich sende, die msg-Inhalte, den Typ und den Benutzer enthalten, der sie übermitteln möchte. Ich dachte darüber nach, XMPP als Transportschicht für die Durchführung zu verwenden.

Wenn jemand helfen kann, wo ich anfangen muss oder Beispielcode haben.

Der Server muss Verbindungen von vielen Clients akzeptieren.

Jeder Client muss eine Verbindung zum Server herstellen, würden sie denselben Port verwenden?

Jede Hilfe wirklich geschätzt.

+0

Nehmen SignalR – Jon

Antwort

1

XMPP wäre eine gute Wahl für Ihr Projekt.

Gehe zu http://xmpp.org/xmpp-software/libraries/ und finden Sie eine .NET-Bibliothek. Alle von ihnen werden mit Beispielcode ausgeliefert.

Für Ihre Premieren testen Sie entweder einen öffentlichen Server verwenden kann, Ihre Google Mail-ID oder herunterladen und eine der hier aufgeführten Server installieren: einen Blick auf SignalR https://github.com/SignalR/ http://xmpp.org/xmpp-software/servers/

0

Ich habe dies zuvor mit TCP getan und es war meist unkompliziert. Ich habe den gleichen Port für alle Clients verwendet, um eine Verbindung herzustellen, wobei der Server diesen Port mit einem Thread abhört, der die Clients in einer Warteschlange bedient und deren Verbindungen zugewiesen hat.

UDP funktioniert genauso gut wie TCP, erfordert jedoch zusätzliche Arbeit, um sicherzustellen, dass Ihre Daten nicht zufällig verloren gehen.