AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Indy TCP Client/Server: spontan Nachricht an den Server senden?
Thema durchsuchen
Ansicht
Themen-Optionen

Indy TCP Client/Server: spontan Nachricht an den Server senden?

Ein Thema von romber · begonnen am 9. Jun 2013 · letzter Beitrag vom 10. Jun 2013
Antwort Antwort
Seite 2 von 2     12   
Medium

Registriert seit: 23. Jan 2008
3.680 Beiträge
 
Delphi 2007 Enterprise
 
#11

AW: Indy TCP Client/Server: spontan Nachricht an den Server senden?

  Alt 10. Jun 2013, 13:02
Wenn mich nicht alles täuscht, dann ist ein Socket immer nur in dem Thread verwendbar, in dem er erzeugt wurde. Unabhängig davon, ob man seine eigenen Datenstrukturen threadsicher hat oder nicht. Deshalb habe ich bei meinen Programmen meist eine Art "Dispatch-Thread" der den Socket hält, und an Queues der Worker-Threads eingehende Kommunikation verteilt, sowie ausgehende in einer eigenen Queue verwaltet.

Ich hatte zwar nicht Indy benutzt sondern die alten TClient- bzw. TServerSocket Kompos, aber imho dürfte man auch bei Indy auf die Nase fallen, wenn man einen Socket aus mehreren Threads heraus direkt benutzt. Ich bin halt nicht 100% sicher, aber das wäre überprüfungswürdig bevor man viel Zeit in ein Design steckt, dass am Ende doch nicht gehen könnte.
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)
  Mit Zitat antworten Zitat
mjustin

Registriert seit: 14. Apr 2008
3.006 Beiträge
 
Delphi 2009 Professional
 
#12

AW: Indy TCP Client/Server: spontan Nachricht an den Server senden?

  Alt 10. Jun 2013, 13:26
Wäre das so threadsicher oder habe ich was vergessen?

Muss ich in beiden Threads aud IOHandler zugreifen oder kann ich irgendwie direkt auf Lese- bzw. Schreibstrem zugreifen?
Ja, das klingt überschaubar. Direkten Streamzugriff über Indy habe ich noch nicht versucht, es kommt aber nur darauf an ob der Socket "sichtbar" (und nicht z.B. 'private') ist.

Ich habe zwar Remy Lebeau so verstanden dass es im Prinzip gehen muss, aber bei Threads gilt "The proof of the pudding is in the eating"
Michael Justin
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 20:25 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