AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Struktur Frage

Ein Thema von franktron · begonnen am 4. Apr 2013 · letzter Beitrag vom 5. Apr 2013
Antwort Antwort
franktron

Registriert seit: 11. Nov 2003
Ort: Oldenburg
1.446 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#1

Struktur Frage

  Alt 4. Apr 2013, 16:50
Ich will eine Art FTP Proxy machen.

Also ich habe x Clients die per XML Anfragen an eine Server schicken und jetzt soll der Server die Anfragen abarbeiten, aber wie.

1. Idee Jeder Client bekommt eine Extra Instanz (Problem es kann immer nur eine Client auf den Selben FTP zugreifen)
2. Eine Queue (Problem Clients müssen Warten bis die anfragen der Clients vorher abgearbeitet sind)

Was ist die beste Methode, oder gibts noch eine Möglichkeiten.
Frank
Tux sein Lieblingsquellcode
While anzfische<TuxSatt do begin
Fisch:=TFisch.Create; Tux.EssenFisch(Fisch); Fisch.Free;inc(anzfische); end;
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#2

AW: Struktur Frage

  Alt 4. Apr 2013, 18:54
Alle Anfragen in eine Queue schicken und diese Queue von mehreren Download-Threads abarbeiten lassen
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
franktron

Registriert seit: 11. Nov 2003
Ort: Oldenburg
1.446 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#3

AW: Struktur Frage

  Alt 5. Apr 2013, 08:07
Alle Anfragen in eine Queue schicken und diese Queue von mehreren Download-Threads abarbeiten lassen
Aber wie kriegt man das hin das nur eine Verbindung zum FTP Server steht. (Also das nicht 2 Threads eine Verbindung gleichzeitig aufbauen)
Frank
Tux sein Lieblingsquellcode
While anzfische<TuxSatt do begin
Fisch:=TFisch.Create; Tux.EssenFisch(Fisch); Fisch.Free;inc(anzfische); end;
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.779 Beiträge
 
Delphi 10.4 Sydney
 
#4

AW: Struktur Frage

  Alt 5. Apr 2013, 10:23
Hallo,

wieviel FTP Server sollen denn bedient werden?

Mein Vorschlag:
Pro FTP Server einen FTP Client Thread.
Jeder FTP Client Thread hat eine Auftragsqueue (Aufnahmekapazität: begrenzt/unbegrenzt).

Die Applikation befüllt je nach Ziel-FTP-Server die jeweilige Auftragequeue des entsprechenden Client-Threads.

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
franktron

Registriert seit: 11. Nov 2003
Ort: Oldenburg
1.446 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#5

AW: Struktur Frage

  Alt 5. Apr 2013, 10:32
Hallo,

wieviel FTP Server sollen denn bedient werden?

Mein Vorschlag:
Pro FTP Server einen FTP Client Thread.
Jeder FTP Client Thread hat eine Auftragsqueue (Aufnahmekapazität: begrenzt/unbegrenzt).

Die Applikation befüllt je nach Ziel-FTP-Server die jeweilige Auftragequeue des entsprechenden Client-Threads.

Grüße
Klaus
Das ist keine gute Idee da eine Anzahl von X möglich ist, bei uns ist x ca. 50
Frank
Tux sein Lieblingsquellcode
While anzfische<TuxSatt do begin
Fisch:=TFisch.Create; Tux.EssenFisch(Fisch); Fisch.Free;inc(anzfische); end;
  Mit Zitat antworten Zitat
Benutzerbild von sx2008
sx2008

Registriert seit: 15. Feb 2008
Ort: Baden-Württemberg
2.332 Beiträge
 
Delphi 2007 Professional
 
#6

AW: Struktur Frage

  Alt 5. Apr 2013, 10:56
Muss es unbedingt FTP sein oder geht es nur darum Dateien irgendwie übers Internet/Intranet zu schieben?
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#7

AW: Struktur Frage

  Alt 5. Apr 2013, 11:34
Dann schmeiß die Aufträge in eine Liste und suche dir aus dieser Liste, den nächsten möglichen Auftrag heraus (wenn die maximalen Verbindungen noch nicht erreicht sind).

Dazu hast du z.B. die gerade aktiven FTP-Server in einer Liste (z.B. TStringList) und prüfst bei jedem Auftrag, ob der FTP-Server schon in der Liste ist.

Wenn nicht, dann den FTp-Server in diese Liste rein und den Auftrag abarbeiten lassen (Thread).
Ist der Download abgeschlossen, dann den FTp-Server wieder aus der Liste und weiter zum nächsten Auftrag.
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.579 Beiträge
 
#8

AW: Struktur Frage

  Alt 5. Apr 2013, 12:29
1. Idee Jeder Client bekommt eine Extra Instanz (Problem es kann immer nur eine Client auf den Selben FTP zugreifen)
Warum eigentlich diese Einschränkung? FTP-Server kommen doch problemlos mit mehreren Client-Instanzen zurecht. Habe ich gerade Ausprobiert, zwei FTP-Clients benutzt, zum gleichen Server verbunden. Klappte eigentlich gut.
  Mit Zitat antworten Zitat
franktron

Registriert seit: 11. Nov 2003
Ort: Oldenburg
1.446 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#9

AW: Struktur Frage

  Alt 5. Apr 2013, 12:46
1. Idee Jeder Client bekommt eine Extra Instanz (Problem es kann immer nur eine Client auf den Selben FTP zugreifen)
Warum eigentlich diese Einschränkung? FTP-Server kommen doch problemlos mit mehreren Client-Instanzen zurecht. Habe ich gerade Ausprobiert, zwei FTP-Clients benutzt, zum gleichen Server verbunden. Klappte eigentlich gut.
Das liegt an unseren Kunden die nur 1 Verbindung zulässt und bei zufielen gleichzeitigen Verbindung (andere Kunde) ein Block auslöst.
Frank
Tux sein Lieblingsquellcode
While anzfische<TuxSatt do begin
Fisch:=TFisch.Create; Tux.EssenFisch(Fisch); Fisch.Free;inc(anzfische); end;
  Mit Zitat antworten Zitat
Antwort Antwort

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 16:50 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