AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Serversocket wie Clients Unterscheiden ?

Ein Thema von Real_Thunder · begonnen am 13. Mai 2006 · letzter Beitrag vom 17. Mai 2006
Antwort Antwort
Muetze1
(Gast)

n/a Beiträge
 
#1

Re: Serversocket wie Clients Unterscheiden ?

  Alt 13. Mai 2006, 16:46
Warum nur immer so umständlich?

Folgende Punkte dazu als Ideen/Hinweise:

1. In den Ereignisen wird immer ein Socket vom Typ TCustomWinSocket übergeben. Diesen findet man immer in der Connection[] Eigenschaft vom Server wieder. Jederzeit, bei jedem Ereignis. Selbst beim OnDisconnect wird dieser erst nach Abarbeitung des Ereignis-Callbacks entfernt.
2. Die Instanz des TCustomWinSocket, welcher übergeben wird und in der o.g. Eigenschaft vorhanden ist, ist eindeutig über seine Lebzeit. Mit anderen Worten: Wenn ihr die Instanzenadresse als "Handle" nutzt ("Handle" := Integer(Socket)), dann ist diese eindeutig vom OnClientConnect Ereignis bis zum OnClientDisconnect Ereignis. (Wobei hier ein direktes vermerken der Socket Instanz einfacher ist, da man so einfach den Socket bei der Hand hat, wenn man die Informationen von anderer Seite aus seinem Datengrund herausholt.)
3. Wenn ihr zusätzliche Informationen zu den Sockets verwalten wollt, dann definiert euch einen Record oder eine Klasse und legt sie darin ab. Die eindeutig Zuordnung schafft ihr durch vermerken der Record Adresse bzw. der Instanz der Klasse in der Data Eigenschaft des TCustomWinSockets. So legt den Record bzw. die Klasse im OnClientConnect an und weist ihn zu - beim OnClientDisconnect gebt ihn wieder frei. In allen zwischenzeitlichen Ereignissen bekommt ihr den Socket mit an den Kopf geworfen, also einfach die Data Eigenschaft nutzen und ihr wisst, um welchen Client es geht.

Um zur ersten Frage von mir zurück zu kommen: Wozu eine Socket/Handlenummer verwalten, wenn die Socket-Instanz eindeutig ist, verwaltet wird und zusätzliche Informationen (Data Eigenschaft) aufnehmen kann.
  Mit Zitat antworten Zitat
Antwort Antwort


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 06:24 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 by Thomas Breitkreuz