Einzelnen Beitrag anzeigen

Astat

Registriert seit: 2. Dez 2009
Ort: München
320 Beiträge
 
Lazarus
 
#13

Re: Anfängerfrage: Non Blocking TCP Client in einem Thread

  Alt 7. Dez 2009, 23:46
Hallo alzaimar, das mit den Asynchronen (Windows Messages) Sockets, in einem eigenen Thread,
ist bei sauberer Implementierung ja möglich (siehe meinen vorigen Post). Ich würde es aber nicht so komliziert angehen.

Erstell einen Thread, in diesem verwendest du ein paar Zeilen Socket-API (nicht die aufgeblasene TClientSocket Komponente).
Du implementierst eine Sendeprozedure, diese löst ein Event aus und weckt den Thread auf.
Dann sendest Du im Execute die Daten, und wartest im Recv bis der Server antwortet.
Dann triggerst du die Callback mit den gelieferten Daten.

Solange du keine Globalen Variablen in der Callback oder visuelle VCL Objekte verwendest,
brauchst du nicht mal Synchronisationsobjekte implementieren.


Sieh dir das beigelegte Demo an, ist einfach, robust und vor allem unkompliziert.

Tip:

So ungefähr das Verständlichste und Brauchbarste API Tutorial ist unter folgendem Link verfügbar:

http://www.delphi-treff.de/tutorials...ets-mit-winapi

Hoffe dies alles hilft etwas.

lg. Astat
Angehängte Dateien
Dateityp: rar syncsocketsample_143.rar (2,6 KB, 68x aufgerufen)
Lanthan Astat
06810110811210410503210511511603209711003210010110 9032084097103
03211611111604403209711003210010110903210010510103 2108101116122
11610103209010110510810103206711110010103210511003 2068101108112
10410503210310111509910411410510109810111003211910 5114100046
  Mit Zitat antworten Zitat