AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Datenaustausch zwischen Server und Clients
Thema durchsuchen
Ansicht
Themen-Optionen

Datenaustausch zwischen Server und Clients

Ein Thema von flomei · begonnen am 19. Jan 2003 · letzter Beitrag vom 30. Jan 2003
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von flomei
flomei

Registriert seit: 17. Jan 2003
Ort: Schieder-Schwalenberg
2.094 Beiträge
 
Delphi 2005 Personal
 
#1

Datenaustausch zwischen Server und Clients

  Alt 19. Jan 2003, 17:58
Ich möchte gerne ein Überwachungsprogamm schreiben.
Dafür habe ich mir folgendes ausgedacht: Der Client macht alle 10 Sek. ein Bild des Bildschirmes und sendet dieses an den Server. Auf dem Server wird dieses Bild dann verkleinert dargestellt.

Erste Frage: Worin stellt man das Bild am Besten dar??? Könnte man ein Bild nehmen, welches lokal auf dem Client gespeichert ist und dieses einfach ständig aktualisieren?

Zweite Frage: Wie kriegt man diese Datenübertragung zustande ? Indy ?


Bitte helft mir!

Danke!!!

MfG flomei
Florian Meier
... ist raus.
Vielen Dank für die Zeit mit euch!
http://www.flomei.de -- http://www.md5hash.de
  Mit Zitat antworten Zitat
czapie

Registriert seit: 17. Nov 2002
Ort: Berlin
384 Beiträge
 
Delphi 5 Standard
 
#2

Was denn?

  Alt 23. Jan 2003, 11:26
Also, was willst du denn machen willst du ein eigenes Serverprogramm schreiben, oder reicht es dir wenn du die Bilder, dann einfach nur auf nen FTP-Server überträgst?
Wenn nur FTP kannst du das über Indy eigentlich ohne Probleme machen, is aber glaub ich ne ganz ohen für den Prozessor alle 10 sek ein Bild zu machen, die FTP-Verbindung herzustellen und dann auch noch zu senden, gegebenenfalls mußt du ja auch immer wieder eine Internetverbindung öffnen, vielleicht ist es einfacher, nur alle Stunde eine .zip zu senden oder so.

Wenn nicht FTP, kannst du dein Serverprogramm über IP und Port konnekten
http://www.delphipraxis.net/viewtopic.php?t=2616
und dann per SendBuffer (TSockets) datenpakete verschicken, geht aber nicht mit Indy, sondern eben mit Tsockets und dann glaub ich noch FastNET oder so, aber ebenfalls siehe oben.

Czapie.
  Mit Zitat antworten Zitat
Benutzerbild von Jan
Jan

Registriert seit: 24. Sep 2002
Ort: Magdeburg
491 Beiträge
 
Delphi 7 Enterprise
 
#3
  Alt 23. Jan 2003, 14:01
Ich glaube was er möchte ist eher das servertool, welchem dann bilder vom client zugeschickt werden, so dass er dann am server den client übes netz beobachten, undzwar in realtime, oder halt mit 10s verzögerung, etwas sehr ähnliches, nur wesentlich aufwändiger ist das tool Winsfv, mit dem kann man sich den client komplett anschauen, und bedienen, in realtime, geht aber eigentlich stabil und flüssig nur übers LAN, ist dann so wie ein Bildschirm im Bildschirm. aber die idee von flomei fined ich auch nicht schlecht einfach ein kleines fenster in der Ecke deines Bildschirms in dem man ab und an sehen kann, was auf dem client passiert.
Wie man das umsetzen kann weiss ich allerdings auch nicht, aber wenn es sogar klappt, dass mann das system in Realtime steuern kann, dann sollte es von der rechnerleistung her kein Problem sein das alle 10 sekunden zu machen.
Eine Frage habe ich aber dazu: Muss man da eigentlich immer Bilder übermitteln, oder kann man nicht nur graphische elemente übermitteln und ansonsten einfach Mauszeigerbewegungen und sich öffnende fenster schicken, also nicht Bilder, sondern eher Informationen, wie zum Beispiel Ordnernamen von Ordnern die dargestellt werden sollen, also dass der Server die Rechenarbeit leistet.
Klingt mir aber etwas extrem!
Gruß
Jan
Jan
Wenn die Sonne der Kultur tief steht, werfen auch kleine Gestalten lange Schatten.
  Mit Zitat antworten Zitat
Benutzerbild von flomei
flomei

Registriert seit: 17. Jan 2003
Ort: Schieder-Schwalenberg
2.094 Beiträge
 
Delphi 2005 Personal
 
#4
  Alt 23. Jan 2003, 14:39
Jan, so was meine ich. Ich bin Administrator in unserer Schule und manchmal wäre es gut, aus dem Serverraum die Aktionen der Schüler zu beobachten.
Das Problem ist, dass wir 20 Clients haben.

Meint ihr, das selbst ein AMD Athlon XP 1800+ (256MB Ram) damit überfordert wäre, alle 10 Sekunden ein Bild zu machen und an den Server zu schicken???

Ich könnte auch Trojaner installieren, aber die haben manchmal ungewünschte Nebenfolgen.
Die Bilder könnten auch in Schwarz-Weiß sein, das wär alles egal, solange ich irgendwie auf dem Server 20 Bilder der Clients sehe.
Und das ganze muss NICHT in Realtime laufen.

Verstanden

>>>Muss man da eigentlich immer Bilder übermitteln, oder kann man nicht nur graphische elemente übermitteln und ansonsten einfach Mauszeigerbewegungen und sich öffnende fenster schicken, also nicht Bilder, sondern eher Informationen, wie zum Beispiel Ordnernamen von Ordnern die dargestellt werden sollen, also dass der Server die Rechenarbeit leistet. <<<
Ja, wär auch nicht schlecht. Allerdings muss das detailiert genug sein, da man ja sonst nicht schimpfen kann.


Also, bitte helft mir!!!

Danke!
Florian Meier
... ist raus.
Vielen Dank für die Zeit mit euch!
http://www.flomei.de -- http://www.md5hash.de
  Mit Zitat antworten Zitat
Evilboyz

Registriert seit: 14. Jan 2003
78 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#5
  Alt 23. Jan 2003, 14:39
http://www.tipps.delphi-source.de/

Also unter diesem Link gibt es einige sehr interessante Tipps, unter anderem eben auch, wie man die Position von Fenstern auslesen kann, die nicht zu eigenen Programm gehören und natülich auch die Sache mit der Mausbewegung, soweit ich mich erinnern kann.
Was mir jetzt gerade einfällt: Egal wie die Lösung aussehen wird (es wird in jedem Fall jede Menge Arbeit dahinter stecken), wäre es auf alle Fälle sinnvoll, nur dann etwas zu übermitteln, wenn überhaupt irgendwas passiert, also wenn sich beispielsweise die Maus bewegt ...
  Mit Zitat antworten Zitat
Benutzerbild von flomei
flomei

Registriert seit: 17. Jan 2003
Ort: Schieder-Schwalenberg
2.094 Beiträge
 
Delphi 2005 Personal
 
#6
  Alt 23. Jan 2003, 14:55
Zitat von Evilboyz:
Was mir jetzt gerade einfällt: Egal wie die Lösung aussehen wird (es wird in jedem Fall jede Menge Arbeit dahinter stecken), wäre es auf alle Fälle sinnvoll, nur dann etwas zu übermitteln, wenn überhaupt irgendwas passiert, also wenn sich beispielsweise die Maus bewegt ...
Das war sowieso geplant. Warum soll ich unnötig Bandbreite vergeuden, wenn ich nichts damit mache.
War wohl nicht ganz klar.

Na, mal schauen.
Florian Meier
... ist raus.
Vielen Dank für die Zeit mit euch!
http://www.flomei.de -- http://www.md5hash.de
  Mit Zitat antworten Zitat
Benutzerbild von Jan
Jan

Registriert seit: 24. Sep 2002
Ort: Magdeburg
491 Beiträge
 
Delphi 7 Enterprise
 
#7
  Alt 23. Jan 2003, 14:55
Hallo flomei,
Du sagst, dass du admin auf eurer Schule bist, heisst das, dass du also das komplette Schullan von einem Rechner aus überwachen willst, oder, oder soll die Überwachung von zuhause übers Zwischennetz ( ) stattfinden? Bei uns ist es auf der Schule so, dass da ein Rechner alle über so ein Spyprogramm in realtime überwachen kann, wenn du sowas suchst, dann muss ich grad mal gucken ob winvnc freeware ist.
.....
jo ist es, hier zu erlangen: http://www.uk.research.att.com/vnc/
hf, wenn es ums lan geht ist das perfekt, klappt aber mit ner dsl Leitung und runtergeschreibten einstellungen glaube ich auch.
Gruß
Jan
Jan
Wenn die Sonne der Kultur tief steht, werfen auch kleine Gestalten lange Schatten.
  Mit Zitat antworten Zitat
CalganX

Registriert seit: 21. Jul 2002
Ort: Bonn
5.403 Beiträge
 
Turbo Delphi für Win32
 
#8
  Alt 23. Jan 2003, 15:02
Hi,
also, wenn ich dich richtig verstanden habe, dann soll das ganze nach folgendem Schema ablaufen:

C (Client) macht Screenshot => C sendet Screenshot an S (Server) => S empfängt Bild von C => S zeigt Bild an

Richtig?
Dazu müsstest du folgende Infos haben:
  • Wie mache ich einen Screenshot?
  • Wie sende ich Daten über's LAN (siehe dazu hier in der DP; siehe Indy's bzw. FastNet [ServerSocket / ClientSocker])?
  • Wie zeige ich das Bild an?

Als Hinweis: du musst gleichzeitg zu dem Bild auch einen String senden, welcher Client das ist!

Chris
  Mit Zitat antworten Zitat
Benutzerbild von flomei
flomei

Registriert seit: 17. Jan 2003
Ort: Schieder-Schwalenberg
2.094 Beiträge
 
Delphi 2005 Personal
 
#9
  Alt 23. Jan 2003, 15:14
Zitat von Chakotay1308:
C (Client) macht Screenshot => C sendet Screenshot an S (Server) => S empfängt Bild von C => S zeigt Bild an

Richtig?
Dazu müsstest du folgende Infos haben:
  • Wie mache ich einen Screenshot?
  • Wie sende ich Daten über's LAN (siehe dazu hier in der DP; siehe Indy's bzw. FastNet [ServerSocket / ClientSocker])?
  • Wie zeige ich das Bild an?

Als Hinweis: du musst gleichzeitg zu dem Bild auch einen String senden, welcher Client das ist!

Chris
Jo. Das erste ist richtig. Screenshot mach man doch so, oder?
Code:
procedure ScreenCapture(Bmp: TBitmap);
var
  DeskWnd: HWnd;
  DeskDC: HDC;
  DeskCv: TCanvas;
  R: TRect;
  W, H: Integer;
begin
  if Bmp = nil then Exit;
  DeskWnd := GetDesktopWindow;
  DeskDC := GetWindowDC(DeskWnd);
  DeskCv := TCanvas.Create;
  DeskCv.Handle := DeskDC;
  W := Screen.Width;
  H := Screen.Height;
  R := Bounds(0, 0, W, H);
  try
    Bmp.HandleType := bmDIB;
    Bmp.PixelFormat := pf24Bit;
    Bmp.Width := W;
    Bmp.Height := H;
    Bmp.Canvas.CopyMode := cmSrcCopy;
    Bmp.Canvas.CopyRect(R, DeskCv, R);
  finally
    DeskCv.Free;
    ReleaseDC(DeskWnd, DeskDC);
  end;
end;
Bin ja der absolute Delphi-Newbie, aber kann der Server an der IP nicht irgendwie erkennen, welcher Rechner das gesendet hat und das dementsprechend in irgendeinem Rahmen darstellen???
Florian Meier
... ist raus.
Vielen Dank für die Zeit mit euch!
http://www.flomei.de -- http://www.md5hash.de
  Mit Zitat antworten Zitat
Benutzerbild von flomei
flomei

Registriert seit: 17. Jan 2003
Ort: Schieder-Schwalenberg
2.094 Beiträge
 
Delphi 2005 Personal
 
#10
  Alt 23. Jan 2003, 15:18
Zitat von Jan:
Hallo flomei,
Du sagst, dass du admin auf eurer Schule bist, heisst das, dass du also das komplette Schullan von einem Rechner aus überwachen willst, oder, oder soll die Überwachung von zuhause übers Zwischennetz ( ) stattfinden?
Nö. Das ganze soll vom Linux-Server aus dem Nebenraum aus überwacht werden.
Florian Meier
... ist raus.
Vielen Dank für die Zeit mit euch!
http://www.flomei.de -- http://www.md5hash.de
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:21 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz