Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Sockets verwalten (WSAAsyncSelect vs WSAEventSelect) (https://www.delphipraxis.net/117519-sockets-verwalten-wsaasyncselect-vs-wsaeventselect.html)

Apollonius 20. Jul 2008 13:48

Re: Sockets verwalten (WSAAsyncSelect vs WSAEventSelect)
 
Eine Event pro Socket ist schneller, aber auch ressourcenintensiver.
Am besten finde ich eine Mischform: Für jeden lauschenden Socket ein Event, so kannst du sehr schnell neue Verbindungen annehmen, und ein globales Event für alle Kommunikationssockets, da funktioniert dann Select.

Mr_G 21. Jul 2008 00:49

Re: Sockets verwalten (WSAAsyncSelect vs WSAEventSelect)
 
Zitat:

Zitat von Apollonius
Am besten finde ich eine Mischform: Für jeden lauschenden Socket ein Event, so kannst du sehr schnell neue Verbindungen annehmen, und ein globales Event für alle Kommunikationssockets, da funktioniert dann Select.

Ich hab das ganze nun genau so umgesetzt und es Funktioniert prächtig! Nun möchte ich aber jedes Socket noch mit einer Struktur assoziieren, die einige Informationen entält (z.B. Statusinformationen zur Verwaltung). Bleibt mir da was anderes als eine Liste mit den Sockets, die ich dann nach dem aktuellen Socket durchsuche?

Zacherl 21. Jul 2008 04:20

Re: Sockets verwalten (WSAAsyncSelect vs WSAEventSelect)
 
Mach doch lieber direkt eine Socket Klasse, die du von TObject oder so ableitest und trage das FSocket dann als privates (oder auch public) Field in der neuen Klasse ein.

So ist es z.b. auch in der ScktComp und Sockets Unit gemacht.

Mr_G 21. Jul 2008 11:38

Re: Sockets verwalten (WSAAsyncSelect vs WSAEventSelect)
 
Zitat:

Zitat von Zacherl
Mach doch lieber direkt eine Socket Klasse, die du von TObject oder so ableitest und trage das FSocket dann als privates (oder auch public) Field in der neuen Klasse ein.

So ist es z.b. auch in der ScktComp und Sockets Unit gemacht.

Dann müsste ich immernoch die Instanzen anhand des Sockethandles identifizieren oder jedes Socket-Objekt müsste sich selber um die Kommunikation kümmern (so wie ich das gesehen hab geschieht das in der Unit Sockets mit Threads... und den Ansatz haben wir ja aus Gründen der Performance verworfen).

Apollonius 21. Jul 2008 15:40

Re: Sockets verwalten (WSAAsyncSelect vs WSAEventSelect)
 
Bei Select kommst du um das Durchsuchen deiner Liste leider nicht herum.

Mr_G 24. Jul 2008 12:20

Re: Sockets verwalten (WSAAsyncSelect vs WSAEventSelect)
 
So... ich musste eine kurze Pause einlegen... Danke für die Antwort!
Ich werde dann mal mein Glück versuchen. Sollte die Performance zu wünschen übrig lassen setze ich einfach mal eine der Anderen Lösungen um.

Vielen Dank für die Hilfe! :dp:


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:16 Uhr.
Seite 2 von 2     12   

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