Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Fernwartungssoftware Bidschirm von Client übertragen (https://www.delphipraxis.net/56236-fernwartungssoftware-bidschirm-von-client-uebertragen.html)

etom291272 2. Nov 2005 17:28


Fernwartungssoftware Bidschirm von Client übertragen
 
:coder:
Hallo zusammen

Ich entwickle zur Zeit für unsere Firma ein Fernwartungsprogramm in delphi (mit Indy
Komponenten)

Nun zu meiner Frage im Augenblick realisiere ich die Übertragung des fremden schirms (desktops) durch
Einen screenshot der auf dem client ausgeführt wird dieser wird dann als jpgstream mit entsprechender
Kompression und nur wenn sich der schirm verändert hat übertragen (bei 1024 ca 40 -50 kb je shot) :arrow:

Da die meisten noch dls mit upload wie bei isdn haben ist dass doch relativ langsam :!: :wall:

Welche anderen möglichkeiten gibt es den schirminhalt zu erhalten oder dass die erforderliche
datenmenge kleiner wird :?:

Habe mit überlegt wenn ich den schirm in 4x4 kacheln aufteile und nur die kacheln übertrage die sich
geändert haben ist zwar jede kachel kleiner aber wenn sich der gesamte bildschirm ändert wird ja wieder alles übertragen. Hat jemand eine idee wie das bei rdp oder citrix protokoll gelöst ist (citricx: da reicht sogar gprs aus)

Die diskussion ist eröffnet :mrgreen:

Master_RC 2. Nov 2005 17:42

Re: Fernwartungssoftware Bidschirm von Client übertragen
 
Ich weiß zwar net, wie die des machen oder wo deren Seite ist (hab ich aber hier irgendwo gelesen)
Aber ich benutze in meinem LAN von mir und Schwester ASSUN "Screen Grabber"

Der kann das sogar in nahezu Echtzeit.

Weiß aber nicht, wie der das macht... frag ihn doch, der müsste hier irgendwo liegen ;)

etom291272 2. Nov 2005 17:44

Re: Fernwartungssoftware Bidschirm von Client übertragen
 
wie gesagt im Lan ist es kein problem aber dass soll über internet als fernwartungssoftware funktionieren (zur zeit bei isdn ca 4 sekunden für einen neuen screen auf dem betreuer pc)
Zitat:

Da die meisten noch dls mit upload wie bei isdn haben ist dass doch relativ langsam

Master_RC 2. Nov 2005 17:47

Re: Fernwartungssoftware Bidschirm von Client übertragen
 
vlcht. hat er ja eine technologie, die für LAN überflüssig ist, aber für Internet zu gebrauchen wäre ;)

Wie gesagt: ich weiß nicht, wies funzt :)

ripper8472 2. Nov 2005 17:52

Re: Fernwartungssoftware Bidschirm von Client übertragen
 
tightvnc ist opensource.

wieso entwickelst du sowas, obwohl es das schon gibt?

btw, die fuehrenden fernwartungstools (nicht trojaner) senden nur die sich veraendernden bildteile und komprimieren die verlustfrei (nicht jpeg).

ich wuerde nicht indy nehmen, sondern die sockets api oder tclientsocket/tserversocket.

etom291272 2. Nov 2005 17:55

Re: Fernwartungssoftware Bidschirm von Client übertragen
 
:!: ich entwickle sowas weil meins durch alle firewalls durchgeht (ähnlich wie beim netviewer) das gegenüber braucht nur eine internetverbindung zu haben und schon funktionierts

Solche programme kosten immenses geld (siehe eben netviewer) :warn:

Master_RC 2. Nov 2005 17:55

Re: Fernwartungssoftware Bidschirm von Client übertragen
 
Zitat:

Zitat von ripper8472
tightvnc ist opensource.
wieso entwickelst du sowas, obwohl es das schon gibt?

Warum werden dann z. B. Shooter programmiert, wenn es doch genügend gibt? :roll:
Du hast bestimmt auch schonmal was geproggt, was e sschon gibt

Union 2. Nov 2005 18:06

Re: Fernwartungssoftware Bidschirm von Client übertragen
 
ripper8472 hat recht: Du solltest Dir den letzten übertragenen Screen merken und bei einer Änderung nur die geänderten Teile übertragen, am Besten mit einem RLE, aber kein Jpeg, das sieht doch sehr "schleimig" aus. Es stellt sich aber dennoch die Frage warum nicht NetOP, VNC oder MsTSC verwendet wird (wobei letztere beide noch kostenlos sind). Firewall ist eiegentlich kein Argument, da müste ich Dein Programm sicher auch freischalten, es sei denn Du tunnelst das über http irgendwie. Und eine vernünftige Anmeldung wirdt Du auch nur sehr bedingt hinbekommen, da musst Du nämlich mit virtuellen Treibern und Hooks und sonstigem komplexen Mist arbeiten... :(

etom291272 2. Nov 2005 18:12

Re: Fernwartungssoftware Bidschirm von Client übertragen
 
@ union
du hast es erfasst sämtliche fernwartungssoftware ausser ein paar die wirklch geld kosten können imho nur eine verbindung zu einem server beim kundenrechner aufbauen (vnc, remoteadmin, pcanywhere und wie sie alle heissen) wenn du dir meine client exe von meiner homepage runterladen würdest könnte ich sofort mit einem click auf deinem pc)

das prog ist sogut wie fertig nur die screens werden zu langsam übertragen

die idee mit dem aufteilen des screens habe ich schon überlegt aber wenn sich der ganze screen ändert muss ja auch alles übertragen werden !

ripper8472 2. Nov 2005 18:13

Re: Fernwartungssoftware Bidschirm von Client übertragen
 
master_rc: spiele haben "spielwert", anwendungen "nutzwert".
eine anwendung kann man immer wieder "nutzen", ein spiel verliert nach einer weile seinen "spielwert".
ich habe schon manches nachprogrammiert um zu lernen. der OP allerdings scheint diesen vnc clone beruflich zu schreiben, was fuer mich keinen sinn macht.

sehet!
https://www.copilot.com/

das teil tunnelt durch alles.

ich hab btw auch einen eigenen tunnel geschrieben, mit dem ich alle vncs und rats durch router tunneln lassen kann.

kompression: nimm z.b. deflate. jpeg wuerd ich nur nehmen, wenn verlustfreie kompression groessere daten produzieren wuerde.

Union 2. Nov 2005 18:17

Re: Fernwartungssoftware Bidschirm von Client übertragen
 
Zitat:

Zitat von etom291272
@ das prog ist sogut wie fertig nur die screens werden zu langsam übertragen
die idee mit dem aufteilen des screens habe ich schon überlegt aber wenn sich der ganze screen ändert muss ja auch alles übertragen werden !

Deshalb solltest Du ja den letzten Übertragenen Screenbuffer merken, damit Du nur die Differenzen schicken kannst. Und wenn Dein Algo feststellt, dass die Diff grösser wird als ein kompletter Screen, dann kannst Du ihn ja immer noch komplett senden.

etom291272 2. Nov 2005 18:18

Re: Fernwartungssoftware Bidschirm von Client übertragen
 
@ ripper

Schon aber wenn du auf einem bestimmten kunderechner zugreifen willst muss doch in der firma dieses kunden irgend ein portmapping durch die zentrale Firewal oder gar ein vpn auf die arbeitsstation oder eine direkte verbindung zu der arbeitssteation bestehen oder irre ich mich da?

der sinn der sache ist ohne irgend ein weiteres zutun jeden pc im internet fernwarten zu können wenn der benutzer des jenigen pc's das will! das können die von dir genannten produkte meineswissens nicht!

ripper8472 2. Nov 2005 18:20

Re: Fernwartungssoftware Bidschirm von Client übertragen
 
omfg (sorry aber ich bin wenigstens ehrlich heh)

www.copilot.com

der kann das, glaub mir. ich wuerd dir nicht raten, das nachzuprogrammieren, weil die entwickler von copilot auf tightvnc codebasis aufbauen und deshalb tonnenweise knowhow haben.

edit: stell dir folgendes vor.
vnc server auf kundenrechner starten.
tunnel client marke eigenbau auf kundenrechner starten.
tunnel verbindet zu vnc server UND EINEM TUNNEL SERVER AUF DEINEM EIGENEN RECHNER.
du verbindest zu deinem tunnel server.
eine verbindung zwischen dir und dem vnc auf dem kundenrechner besteht.

vnc server und tunnel client kann man mit winzip buendeln.

etom291272 2. Nov 2005 18:27

Re: Fernwartungssoftware Bidschirm von Client übertragen
 
@ union

meinst du etwa so

screen aufteilen in 4x4 quadrate beim senden die identität der 16 quadrate merken beim nächsten übertragen wieder 4x4 quadrate erstellen die identität vergleichen die quadrate die sich geändert haben übertragen!

ripper8472 2. Nov 2005 18:30

Re: Fernwartungssoftware Bidschirm von Client übertragen
 
du koenntest das effizienter machen, indem du pixelweise vergleichst (ein paar megapixel sind nicht die welt. 100 updates/s absolut moeglich). dann hast du die neuen bereiche. die teilst du in rechtecke ein und komprimierst die.

etom291272 2. Nov 2005 18:34

Re: Fernwartungssoftware Bidschirm von Client übertragen
 
@ ripper

bitte ein bisschen genauer habe mich mit image programmierung noch nich sehr intensiv auseinandersetzen
müssen.


wenn ich die seite die du gelinkt hast richtig interpretiere ist das nicht gerade kostenlos wir brauchen das jeden tag mehrmals das summiert sich. und man kann das nur über diese homepage oder...
für daus ungeeignet.

zu der tunnelidee:
hab zwar noch nie so einen tunnel programmiert ich stufe dass aber als lösbar ein.
trotzdem vnc server und mein tunnelprogramm müssen vom dau installiert werden oder zumindest
richtig ausgepackt und gestartet werden.
ich will exe von der page starten ein click und verbunden

ausserdem wie gesagt dass ding funktioniert schon darum stellt sich die frage nciht mehr ein fremdprodukt einzusetzen.

ripper8472 2. Nov 2005 18:37

Re: Fernwartungssoftware Bidschirm von Client übertragen
 
zu tightvnc und realvnc gibts genau das was du willst.
mach dir nur mal die muehe, danach zu suchen.


den tightvnc server kann man einfach starten und es funktioniert.
wenn du dann noch den tunnelclient startest, dann steht alles.

beides kannst du mit einem winzip selfextracting archive zu einer exe packen, die beides auspackt und startet (und mit ein paar tricks auch hinterher loescht).

edit: von bildkompression hab ich auch wenig ahnung. ich wuerd einfach ne library benutzen.
was die "rechtreckregionen erkennen" sache angeht, dazu gibts algorithmen zum segmentieren. auch musst du bei schrift aufpassen oder bei gestreuten veraenderungen (mspaint spraytool). dann wuerd ich nen "radius" nehmen und alles im umkreis zu einem rechteck gruppieren, was zu klein ist.

etom291272 2. Nov 2005 18:39

Re: Fernwartungssoftware Bidschirm von Client übertragen
 
Zitat:

ausserdem wie gesagt dass ding funktioniert schon darum stellt sich die frage nciht mehr ein fremdprodukt einzusetzen.
:-D aber für ein paar typs was du meinst bei dem image vergleichen wäre ich dankbar

ripper8472 2. Nov 2005 18:43

Re: Fernwartungssoftware Bidschirm von Client übertragen
 
na is doch einfach.

altes bild, neues bild.
zeilenweise, pixelweise durchgehen und vergleichen, ergebnis des vergleichs in eine mask (auch bitmap) eintragen.

Assun 2. Nov 2005 18:44

Re: Fernwartungssoftware Bidschirm von Client übertragen
 
Zitat:

Zitat von Master_RC
Ich weiß zwar net, wie die des machen oder wo deren Seite ist (hab ich aber hier irgendwo gelesen)
Aber ich benutze in meinem LAN von mir und Schwester ASSUN "Screen Grabber"

Der kann das sogar in nahezu Echtzeit.

Weiß aber nicht, wie der das macht... frag ihn doch, der müsste hier irgendwo liegen ;)

Und den Downloadlink zum Tool gibts hier (:mrgreen:) :

http://assun05.as.funpic.de/index.ph...rabber/grabber

;-)

Wenn der Quellcode nicht so grausam formatiert wäre würd ich das ding ja Open-Source machen aber najo ;-)

Union 2. Nov 2005 18:47

Re: Fernwartungssoftware Bidschirm von Client übertragen
 
Also ein primitiver Diff-Algo könnte in etwa so aussehen:

Schleife über alle Pixel (z.B. zeilenweise)
Vergleich mit vorherigem Screen
Wenn Unterschied gefunden Startposition merken
Schleife bis wieder Übereinstimmung
Position im Puffer, Farbe, Anzahl in Struktur und Struktur an Diff-Puffer hängen

Wenn fertig verglichen, Diff-Puffer mit komprimierten Bildschirm vergleichen und das kleinere von Beiden senden.
Screen merken für nächstes Diff-Update.

etom291272 2. Nov 2005 18:49

Re: Fernwartungssoftware Bidschirm von Client übertragen
 
das heisst ich kann nur die geänderten pixel übertragen und kann dann nur die geänderten pixel über das image legen habe ich das richtig verstenden ?

etom291272 2. Nov 2005 18:50

Re: Fernwartungssoftware Bidschirm von Client übertragen
 
@assun
ich probier das teil mal gleich über isdn aus schreib dann wie schnell das ding ist

Assun 2. Nov 2005 18:52

Re: Fernwartungssoftware Bidschirm von Client übertragen
 
oha, über ISDN wirds seeeeeeeehr langsam sein ;-)

Es schafft eigentlich nur übers Netzwerk realtime...

Ich brauch von DSL-Light nach DSL FULL ca. 6 sekunden...

etom291272 2. Nov 2005 18:53

Re: Fernwartungssoftware Bidschirm von Client übertragen
 
@ assun

womit wir bei meinem problem wären :mrgreen:
dann kann ich mir den test sparen :zwinker:

juergen 2. Nov 2005 19:25

Re: Fernwartungssoftware Bidschirm von Client übertragen
 
Hallo,
wie zuvor auch schon mal angemerkt:
warum soviel Arbeit und damit auch Geld (!) in ein Projekt stecken, wo es wirklich professionelle Lösungen gibt?
Wenn Du ein Tool suchst was IMHO für die gebotene Leistung auch preisgünstig ist, so kann ich hier den Teamviewer empfehlen.
Das kauft man einmal (in verschiedenen Versionen) ab 89,-€ (gibt es auch erst mal zum testen) Teamaviewer
Und dieses Tool kommt auch durch jede Firewall...

etom291272 2. Nov 2005 19:35

Re: Fernwartungssoftware Bidschirm von Client übertragen
 
@jürgen

habe mir das produkt angesehen sieht wirklich sehr gut aus wir braüchten aber die pro die 250€ kostet
ausserdem schreibe ich jetzt gerade mal 3 tage an dem prog und bin bis auf die screen rate am ziel

@all
meine frage zu dem bitmap über anderes bitmap legen ="darüberlegen" wäre mir sehr wichtig
:?: :?: :?:


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:17 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz