![]() |
Re: Indy10 IdTCPServer Problem
Hmm, eigentlich sollen sich mal später zwischen 20 und 30 Clients verbinden können ohne dass es Probleme gibt...
Wie benutze ich denn die gleiche CriticalSection nochmal? Einfach zu Beginn und am Ende ein Enter und ein Leave aufrufen? @omata Welches Log-Objekt meinst Du? Das Memo oder das Logfile das ich jetzt eingebaut habe? Wie komme ich denn nun weiter um das ganze stabil zum laufen zu bekommen? Danke nochmal und viele Grüße Andreas |
Re: Indy10 IdTCPServer Problem
Zitat:
Zitat:
|
Re: Indy10 IdTCPServer Problem
ok, wäre es dann vielleicht sinnvoll immer zu Beginn des Serverevents die CriticalSection zu beginnen und damit die anderen Threads warten zu lassen???
Oder bringt das wieder andere Probleme? |
Re: Indy10 IdTCPServer Problem
Ja entweder so, oder die schützt deinen Zugriff jeweils einzeln, damit nicht immer alle überall ausgesperrt werden.
Bau also einen Wrapper für das Log und schütze die Zugriffe auf dieses mit einem Kristischen Abschnitt und den Zugriff auf deine visuelle Komponente schützt du dann mit einem anderen Kritischen Abschnitt. |
Re: Indy10 IdTCPServer Problem
Zitat:
Ist so auch nicht richtig, du _darfst_ nur aus dem Mainthread auf Elemenate der VCL zugreifen. Das geht mittels Synchronize. Win32.API |
Re: Indy10 IdTCPServer Problem
Zitat:
|
Re: Indy10 IdTCPServer Problem
Hallo,
so wie es im Moment aussieht habe ich es nun geschafft dass es funktioniert. Ich habe für das schreiben der Logdatei eine Prozedur angelegt und dort eine eigene CriticalSection am Anfang und am Ende eingefügt. Im OnExecute schaue ich dann erst nach dem Kommando. Dann kapsele ich beim richtigen Kommando in einer eigenen CriticalSection den weiteren Ablauf. Zum testen habe ich eben mal einen Art Chatclient mit einem Timer, der jede Sekunde eine Zufallsnachricht an den Server schickt, programmiert und davon mal 10 Stück auf den Server losgelassen. Dabei ist nichts aus dem Ruder gelaufen. Nun habe ich den Server da laufen wo er hin soll... in ca. 1 Stunde weiß ich dann mehr. Gruß und Danke an alle die mir hier geholfen haben :cheers: Andreas |
Re: Indy10 IdTCPServer Problem
Zitat:
Wie schon gesagt: Mit Synchronize kann man eine Funktion im Kontext des Mainthreads ausfuehren. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13: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