Remoting oder Sockets

Klein0r

Erfahrenes Mitglied
Hallo zusammen,

ich stehe gerade vor dem kleinen "Problem", Daten über nen Netz mit nem Server auszutauschen. Soweit auch alles im Lot. Ersten Austausch geschrieben und: Funktioniert mit Sockets prima.

Jetz habe ich aber (auf meiner Suche zum Thema Server + Multi-Client), mehrere Themen zu Remoting gelesen. Allerdings verstehe ich bisher noch nicht den Vorteil oder die Anwendungsbereiche von beiden.

Also wann nehme ich einfach Sockets und wann die (so wie ich es verstehe) etwas höher angesiedelten Remoting-Klassen?

Wäre nett wenn jemand da einige Beispiele nennen könnte.
Sowas wie:
  • Chat -> Remoting
  • FTP-Programm (angenommen man implementiert das Protokoll selbst) -> Sockets
usw.

Habe dazu folgende Aussage im Netz gefunden - könnt ihr das unterschreiben?:
Remoting ist jetzt einige Abstraktionsebenen höher. Hier werden direkt Objekte serialisiert (automatisch) und zu einem bestimmten Client übertragen um dort wieder deserialisiert werden zu können. Hier gibt es verschiedene Modi, wie das Objekt "lebt" auf dem Server (Methodenaufrufe werden serialisiert und übertragen) oder Client (hier wird zunächst das Objekt übertrgen, und kann danach dann clientseitig benutzt werden). Ebenso git es die Entscheidung, ob Remoting-Objekte als Singleton genutzt werden sollen, oder nicht.

Remoting verwendet intern 3 mögliche "Protokolle" oder besser ausgedrückt Transportwege: Http, binär oder ICP. In jedem Fall werden die Objekte (de)serialisiert und auch intern letztendlich über einen Socket verschickt. Also kann man sagen, dass Remoting das Transportmittel und das Datenvor- bzw- nachbereiten für die Verarbeitung kapselt und intern auch Sockets dafür verwendet.

Sockets sind sehr Netzwerkkartennah und man sollte sie wirklich nur nutzen, wenn man proprietäre Netzwerkverbindungen aufbauen/nutzen will.

Also könnte man sagen:
Sobald man Objektorientiert arbeitet und auf beiden Seite sich eine .NET-Plattform befindet kann man ruhig auf Remoting zurückgreifen?

Oder:
Sockets sind nur sinnvoll wenn man keine Objekte übertragen will, sondern "Rohdaten" die jeder am anderen Ende Systemunabhängig verstehen will?

lg
 
Andere Frage.

Kann das funktionieren (habe nur 1 Gerät zum Testen momentan)?
EDIT: Code entfernt - Niemand hatte eine Idee...

Weiterhin bin ich auf Sockets geblieben, da windows CE kein Remoting unterstützt.
Damit bezeiche ich das Thema erstmal als erledigt.

Dennoch bleibt die Frage oben offen.

lg
 
Zuletzt bearbeitet:
Zurück