Zhen
Lt. Junior Grade
- Registriert
- Aug. 2009
- Beiträge
- 299
Hallo Leute,
ich hätte da mal ne kleine Frage (vor allem an die richtigen Profis unter euch =D ).
Also ich bin gerade dabei ein Tool für Remotezugriffe zu programmieren (sowas wie TeamViewer, Remote Desktop, etc.).
Ich hab zwar bereits eins geschaffen, aber... naja... ich bin doch relativ unzufrieden damit und wollte auf Basis von dem Code ein neues programmieren. Jetzt hatte ich da aber einige Gedanken gehabt (und da ich nicht weiß wie professionelle Tools wie TeamViewer arbeiten), und dachte ich ich frage hier im Forum mal nach wie Ihr das anstellen würdet.
Kurz zu dem alten Tool:
war eigentlich ganz simpel aufgebaut. Es gab einen Client der zwei Sockets ausführte (für Server zum senden und Client zum Empfangen) ausgeführt hat zu dem sich dann der Server verbinden konnte. Dieser Client hat in einer Schleife Screenshots erstellt und diese an den Server geschickt. Server hat diese empfangen und in einer Picturebox angezeigt. Alle Eingaben beim Server (Mausklicks, Tastatureingaben) wurden wieder an den Client geschickt und bei diesem ausgewertet/verarbeitet.
Dazu wurde natürlich nur ein einziger NetworkStream verwendet bzw. eben Socket (die Arbeit wurde übrigens in 2 Threads erledigt)
Jetzt hatte ich einfach mal so nen Gedanken für das neue Tool... was wäre wenn ich für Mauseingaben, Tastatureingaben und die Übertragung von Screenshots jeweils einen eigenen Thread erstelle und evtl sogar mit mehreren Networkstreams (TcpClients)??
Rein theoretisch gesehen dürfte dann doch nichts schief gehen wie z.B. dass sich die Eingaben für Tastatur und/oder Maus überschneiden oder das auf einmal während der Übertragung eines Screens eine Exception ausgelöst wird weil es eine Kollision gab zwischen Tastatureingabe und Screenübertragung.
Falls ich da irgendwie falsch liege, jemand Ideen/Vorschläge hat dann bin ich offen für alles und hoffe ihr könnt mir hier mal helfen und bisschen auf die Sprünge helfen wie ich das am besten bewerkstellige!!
ich hätte da mal ne kleine Frage (vor allem an die richtigen Profis unter euch =D ).
Also ich bin gerade dabei ein Tool für Remotezugriffe zu programmieren (sowas wie TeamViewer, Remote Desktop, etc.).
Ich hab zwar bereits eins geschaffen, aber... naja... ich bin doch relativ unzufrieden damit und wollte auf Basis von dem Code ein neues programmieren. Jetzt hatte ich da aber einige Gedanken gehabt (und da ich nicht weiß wie professionelle Tools wie TeamViewer arbeiten), und dachte ich ich frage hier im Forum mal nach wie Ihr das anstellen würdet.
Kurz zu dem alten Tool:
war eigentlich ganz simpel aufgebaut. Es gab einen Client der zwei Sockets ausführte (für Server zum senden und Client zum Empfangen) ausgeführt hat zu dem sich dann der Server verbinden konnte. Dieser Client hat in einer Schleife Screenshots erstellt und diese an den Server geschickt. Server hat diese empfangen und in einer Picturebox angezeigt. Alle Eingaben beim Server (Mausklicks, Tastatureingaben) wurden wieder an den Client geschickt und bei diesem ausgewertet/verarbeitet.
Dazu wurde natürlich nur ein einziger NetworkStream verwendet bzw. eben Socket (die Arbeit wurde übrigens in 2 Threads erledigt)
Jetzt hatte ich einfach mal so nen Gedanken für das neue Tool... was wäre wenn ich für Mauseingaben, Tastatureingaben und die Übertragung von Screenshots jeweils einen eigenen Thread erstelle und evtl sogar mit mehreren Networkstreams (TcpClients)??
Rein theoretisch gesehen dürfte dann doch nichts schief gehen wie z.B. dass sich die Eingaben für Tastatur und/oder Maus überschneiden oder das auf einmal während der Übertragung eines Screens eine Exception ausgelöst wird weil es eine Kollision gab zwischen Tastatureingabe und Screenübertragung.
Falls ich da irgendwie falsch liege, jemand Ideen/Vorschläge hat dann bin ich offen für alles und hoffe ihr könnt mir hier mal helfen und bisschen auf die Sprünge helfen wie ich das am besten bewerkstellige!!