Remoteviewing

Xo-mate

Erfahrenes Mitglied
Also ich will das aktuelle Bild eines anderen Computers bei mir sehen können.
Dazu läuft selbstverständlich ein Client auf dem Computer. Nun möchte ich mit einem anderen Client das Bild sehen. Ein Server "vermittelt" die beiden Clients dazu.

Das muss so passieren, da es sich um ein Netzwerk handelt, wo viele Clients laufen und ein Server. Von jedem Client aus soll man theoretisch die anderen Clients beobachten können.

Ich hab schon n bisschen geguckt, aber bis jetzt nichts wirklich passendes gefunden.

PS:
Ja, es soll nur geguckt werden - nicht gesteuert!
 
Zwei mögliche Varianten:

a) Bildschirm immer komplett "fotografieren" und Grafik übertragen. Der Nachteil liegt hier darin, dass sehr viele Daten übertragen werden müssen und daher ein Performance-Nachteil zu erwarten ist.

b) Nur Bildschirm-Bereiche übertragen, die sich geändert haben: Hier natürlich entsprechende Komplexität.

Generell ist es kein Problem, da es zum Thema Screenshots eine Menge Information gibt. Oder geht deine Frage eher in die designtechnische Richtung und weniger in die programmiertechnische?
 
Programmiertechnisch

zu a) ist halt das Problem der Datenmenge, selbst wenn man es nur alle 5 sek oder so übertragen lässt
bei b) ist das Problem, dass ich denke, dass das erkennen der veränderten Bereiche zu Systemauslastend ist, allerdings wäre es dann besser für die Datenmenge

Ich denke aber, dass ich a) machen werde und das dann als jpg übertragen werde wobei ich gleich zum nächsten Problem komme:
Ich weiß gerade ad-hock nicht wie ich das machen soll (Also bilder/Dateien von PC1 nach PC2 übertragen).
 
Hast du ein Link zu einem Tutorial oder einem älteren Eintrag parat? (mein Internet ist gerade tierisch langsam, desshalb kann ich nicht selber gucken, weil wir gerade auf DSL umstellen und desshalb zur Zeit nur ISDN-Speed haben)
 
Ich wurde mal sagen, dass sich in deinem Fall eine SocketVerbindung anbieten würde. Ob TCP oder UDP ist Dir überlassen.

Bilder in einen Stream zu bekommen ist nicht besonders schwer.
C#:
MemoryStream memoryStream = new MemoryStream();
myImage.Save( memoryStream, ImageFormat.Jpeg );
Und auch wieder ein Bild aus einem Stream zu erstellen.
C#:
Image myImage = Image.FromStream( memoryStream );

Ließ Dich mal zu dem Thema Sockets in der MSDN ein. Dort solltest erst mal alles Grundlegende finden...

Mit Remoting ließe sich das sicherlich noch viel einfacher realisieren,
aber da ich damit leider keine großen Erfahrungen aus der Praxis habe,
da ich ausschließlich Plattform übergreifende Dinge in Sachen Netzwerke realisiere
und daher nur mit SOAP und Sockets arbeite, kann ich Dir nicht absolut sicher sagen,
ob man da einen besonders großen Overhead hätte. Kann aber durchaus sein,
da dem Remoting SOAP zugrunde liegt.
Ein RemotingTutorial findest in den .NET-Tutorials.
 
Zurück