2010-12-12 9 views
1

Ich werde einen Instant Messenger bauen und jetzt muss ich entscheiden, wie ich die Vernetzung implementieren. Bisher habe ich nur mit Sockets (TCP oder UDP) gearbeitet. Jetzt habe ich über RMI (in Java) gehört und möchte dies auch in meiner C# -Chatapplication.C#: Instant Messager - Netzwerk (.NET Remoting/WCF/Sockets)?

Es gibt .NET Remoting und WCF. Ich denke, der Instant Messenger mit Sockets aufzubauen ist keine gute Idee, oder? Aber das sollte ich verwenden? .NET Remoting oder WCF? .NET Remoting scheint die ältere Technologie zu sein und ähnelt Java RMI. Ich habe gelesen, dass .NET Remoting schneller ist als WCT (Artikel von 2007).

Welche Technologie sollte ich für meinen Instant Messenger verwenden? Ich möchte formatierten Text aus der Richtextbox und eingebetteten Bildern senden. Außerdem möchte ich Dateien von Chat-Client zu Chat-Client austauschen.

Für .NET Remoting fand ich ein Tutorial, das

ChannelServices.RegisterChannel(myChan); 

verwendet, aber dies ist als veraltet markiert. Ist .NET Remoting eine veraltete Technologie? Ist es möglich, Bilder und Dateien mit WCF oder .NET Remoting zu senden, oder sind Sockets die bessere Wahl?

ich gelesen, dass WCF ist eine Sammlung Technologien der Vernetzung (Web Services, Remoting, ...), aber wenn ich die Suche nach WCF und Remote Method Invocation i nur Beispiele für Web Services erhalten ...

BTW: Später möchte ich einen Web-Client für meinen Instant Messenger mit ASP.NET implementieren. Gibt es Einschränkungen bezüglich der Vernetzung (WCF/Remoting)?

Danke

Antwort

1

.NET Remoting wird nur aus Gründen der Rückwärtskompatibilität as of .NET 3.0 beibehalten. Verwenden Sie daher WCF, wenn Sie .NET 3.0 oder höher verwenden.

Für Ihre sofortige Verwendung würde ich empfehlen, die NetTcpBinding. Sie können dann eine passendere Bindung anhand des folgenden Diagramms auswählen.

WCF Binding Selection Flow Chart.

Abschließend erfahren Sie mehr über WCF unter this SO question.

1

Für Ihre Instant Messager Lösung :) würde ich WCF P2P hier ist ein Artikel empfehlen Sie auf codeprojectPeer-to-Peer Programming with WCF und hier ist es ein Beispiel für p2p zu erhalten begonnen.

+0

p2p ~ Client zum Client? Ich möchte Client/Server-Architektur mit einer DB (für Benutzer) :) – user437899