Einzelnen Beitrag anzeigen

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