AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi thread mal wieder T_T
Thema durchsuchen
Ansicht
Themen-Optionen

thread mal wieder T_T

Ein Thema von itzgyl · begonnen am 30. Dez 2005 · letzter Beitrag vom 2. Jan 2006
Antwort Antwort
Seite 1 von 2  1 2      
itzgyl

Registriert seit: 30. Dez 2005
6 Beiträge
 
#1

thread mal wieder T_T

  Alt 30. Dez 2005, 05:40
hallo
habe hier gesucht und auch gegoogelt und habe einfach keine loesung gefunden!
mir stellt sich folgendes problem:

ich habe eine liste mit gameserver ipadressen. es ist aber nicht gesagt, dass noch alle server up sind, deswegen will ist diese (z.T. sehr lange liste(n)) über ein programm abfragen. dazu habe ich einen thread erstellt, der im execute part die stringlist mit den ips abarbeitet (http seite ansteuern).
(die gesammte ip-liste wird im thread am stück bearbeitet)

die ersten ips lang funktioniert das auch wunderbar - nur ab einem bestimmten punkt rast das programm alle anderen ips der liste ab, ohne auch wirklich zu checken!

kennt jemand eine loesung dafuer und koennte mir behilflich sein ?
waere extrem genial
vielen dank
  Mit Zitat antworten Zitat
Benutzerbild von jim_raynor
jim_raynor

Registriert seit: 17. Okt 2004
Ort: Berlin
1.251 Beiträge
 
Delphi 5 Standard
 
#2

Re: thread mal wieder T_T

  Alt 30. Dez 2005, 06:37
Könnte vielleicht das Problem die Beschränkung der Anzahl der gleichzeitigen offenen Verbindungen sein, die mit WinXP ServicePack 2 eingeführt wurde? Du solltest mal versuchen die Anzahl der Verbindungen zu begrenzen.
Christian Reich
Schaut euch mein X-COM Remake X-Force: Fight For Destiny ( http://www.xforce-online.de ) an.
  Mit Zitat antworten Zitat
itzgyl

Registriert seit: 30. Dez 2005
6 Beiträge
 
#3

Re: thread mal wieder T_T

  Alt 30. Dez 2005, 06:45
es wird nur 1 thread erstellt und der arbeitet alle ips nacheinander ab, ich habe schon versucht nach jeder gecheckten ip die verbindung zu trennen, ohne erfolg. mir wurde gesagt, dass delphi nie so richtig weiß, wie weit der thread momentan ist aber eigentlich sollte der thread das doch selbst regulieren ? :s
  Mit Zitat antworten Zitat
itzgyl

Registriert seit: 30. Dez 2005
6 Beiträge
 
#4

Re: thread mal wieder T_T

  Alt 2. Jan 2006, 00:10
#push
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.117 Beiträge
 
Delphi 11 Alexandria
 
#5

Re: thread mal wieder T_T

  Alt 2. Jan 2006, 00:17
Moin itzgyl,

womit testest Du denn die Verbindung?
Ein wenig Sourecode könnte hilfreich sein.

Ich habe die Vermutung, dass Du dafür eine Komponente benutzt, die nicht threadsave ist.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
itzgyl

Registriert seit: 30. Dez 2005
6 Beiträge
 
#6

Re: thread mal wieder T_T

  Alt 2. Jan 2006, 00:42
achso, na ich benutze nur indy (idhttp) und checke alles per post/get ab, bei beiden versionen der selbe fehler .. die gameserver installieren nämlich einen kleinen http server, über den eine html seite läuft - und die will ich checken (ich will unbedingt die seite checken, weil dort einige wichtige infos zum gameserver stehen) ..
versucht habe ichs bisher so:


Delphi-Quellcode:
//zum starten:
  Thread1 := TGetThread.Create;
  with Thread1 do
  begin
    FreeOnTerminate := true;
    IPs := memo2.Text;
    Resume;
  end;
Delphi-Quellcode:
//im thread.execute:
  FList.Text := IPs;

  for i := 0 to FList.Count - 1 do
  begin
    try
      form1.Label1.caption := FList.Strings[i];
      try
        Fidhttp.Head('http://' + FList.Strings[i] + '/docs/index.htm');
      except
      end;
    finally
      if pos('200 OK', Fidhttp.ResponseText) > 0 then
        fhead_check := true else fhead_check := false;

      if fhead_check = true then
      begin
       try src := FIDhttp.get('http://' + FList.Strings[i] + '/docs/index.htm'); except end;
       //blabla - ein paar infos auslesen halt;
      end;
    end;
  end;
  FList.Free;

wie gesagt, am anfang funktionierts ja auch wunderbar nur irgendwann rast das ding die ips nur noch ab ohne zu prüfen.

thx
mfg
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#7

Re: thread mal wieder T_T

  Alt 2. Jan 2006, 00:47
im thread
form1.Label1.caption zu verwenden ist aber nicth dein ernst?
du greifst damit unsyncronisiert auf den hauptthread zu was richtig daneben gehen kann.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
itzgyl

Registriert seit: 30. Dez 2005
6 Beiträge
 
#8

Re: thread mal wieder T_T

  Alt 2. Jan 2006, 00:54
lol das ist ja nur zum überprüfen erstmal .. damit ich weiß bei welcher ip er momentan ist - anders wüsste ich ja nichtmal, dass er irgendwann alle ips durchrast

oder hast du ne bessere lösung parat ?
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#9

Re: thread mal wieder T_T

  Alt 2. Jan 2006, 00:57
Also der Zugriff auf VCL-Controls solltegenerell über Delphi-Referenz durchsuchenSynchronize() erfolgen.
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#10

Re: thread mal wieder T_T

  Alt 2. Jan 2006, 00:58
mit syncronize könntest du das ganze ordentlich machen.
Hast du schon probiert für jede ip das TIdHTTP object neu zu erstellen?
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  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 14:55 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