AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Problem mit ClientSocket + MultiThreading
Thema durchsuchen
Ansicht
Themen-Optionen

Problem mit ClientSocket + MultiThreading

Ein Thema von Chendrak · begonnen am 9. Jan 2004 · letzter Beitrag vom 15. Jan 2004
Antwort Antwort
Chendrak

Registriert seit: 16. Okt 2003
2 Beiträge
 
#1

Problem mit ClientSocket + MultiThreading

  Alt 9. Jan 2004, 11:44
Hi DPler
Ich bin gerade dabei einen Serverchecker zu programmieren. Es gibt einmal die Möglichkeit, den entsprechenden Server zu pingen (funktioniert auch wunderbar) und es soll die Möglichkeit geben, zu einem bestimmten Port auf diesem Server zu verbinden. Das ganze läuft über Threads und die Komponenten werden dynamisch durch die Threads erstellt.
Nun zu meinem Problem.
Die Komponenten zur Direktverbindung zum Server (TClientSocket) werden ordnungsgemäß erstellt und die Werte und Ereignisse zugewiesen.
Code:
...
else
   begin
     ConnCompo := TClientSocket.Create(Form1);
     ConnCompo.Name := 'MyConnCompo'+IntToStr(ThreadId);
     ConnCompo.Host := PingHost;
     ConnCompo.Port := CPort;
     ConnCompo.OnConnect := ConnFunc;
     ConnCompo.OnConnecting := Connecting;
     ConnCompo.OnRead := ConnRead;
     ConnCompo.OnError := ConnError;
     ConnCompo.ClientType := ctNonBlocking;
     //Timer zum automatischen Disconnecten nach 5 Sekunden (falls Verbindung zustande kam und ggf. Daten gelesen wurden)
     DiscTimer := TTimer.Create(Form1);
     DiscTimer.Name := 'DiscTimer'+IntToStr(ThreadId);
     DiscTimer.Interval := 5000;
     DiscTimer.Enabled := False;
     DiscTimer.OnTimer := TimerFunc;
     Connected := False;
   end;
Wenn ich dann später ConnCompo.Active auf True setze, erstellt diese sich einen eigenen Thread, welcher aber entweder irgendwie Suspended ist oder aber auf meine Ereignisse nicht reagiert...
Bin gerade am verzweifeln, da ich irgendwie keinen Ansatzpunkt zum debuggen finde

Hat da jemand Erfahrung mit bzw. hatte schon mal das gleiche Problem und konnte es lösen ?

Chendrak
  Mit Zitat antworten Zitat
Kamil

Registriert seit: 16. Aug 2002
178 Beiträge
 
#2

Re: Problem mit ClientSocket + MultiThreading

  Alt 15. Jan 2004, 18:50
Wie sieht der Code in deiner Execute Methode aus?
ClientSocket in einem Thread sollte den ctBlocking Mode verwenden. Funktioniert dann allerdings ohne Ereignisse.
  Mit Zitat antworten Zitat
Antwort Antwort


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 10:32 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