Delphi-PRAXiS
Seite 7 von 7   « Erste     567   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Pokerprojekt realisierung (https://www.delphipraxis.net/89252-pokerprojekt-realisierung.html)

Apollonius 15. Mai 2007 14:14

Re: Pokerprojekt realisierung
 
Nein. Es ist eine komplett neue Verbindung mit neuer Socketinstanz. Du könntest höchstens mit remoteHost die IP-abprüfen, aber ich glaube nicht, dass du davon irgendetwas hast.

Der_Unwissende 15. Mai 2007 14:20

Re: Pokerprojekt realisierung
 
Hi,

Zitat:

Zitat von .chicken
Eigene Klasse TPokerTable, die pro Instanz ein Spiel verwaltet. Auf dem Server erstell ich dann ein dynamisches Array davon und an jede Message zum Server häng ich einfach eine ID für den passenden Server dran. Richtig soweit?

Soweit richtig, allerdings solltest Du imho lieber eine TObjectList, intern macht die nichts anderes als ein dyn. Array zu verwalten. Allerdings bietet so eine Liste ein paar Vorteile. So wird z.B. die Größe für Dich verwaltet (die Art und Weise bringt ein paar Perfomance Vorteile) und dann wird auch dafür gesorgt, dass bei der Freigabe der Liste auch alle gespeicherten Instanzen freigeben werden (kann man auch abschalten).

Zitat:

Zitat von .chicken
Und dann nochwas, wenn ein Client verbindet und ich seinen Socket dann ine Objectlist packe, der Client dann disconnected und irgendwann wiederkommt. Kann ich den Client dann immernoch mit dem Socket in der List identifizieren? Auch wenn die IP erneuert wurde?

Da solltest Du Dir dann nochmal das Thema Sockets anschauen. Ein solches Socket ist das Ende einer Verbindung. Dahinter verbirgt sich natürlich irgendwo ein Kanal und ein weiteres Socket, das ist aber aus der Sicht des Benutzers relativ egal. Er sieht halt nur das Socket und kann damit arbeiten (Dinge absenden oder empfangen). Unter anderem bieten die IP-Sockets auch die Adresse der Gegenstelle (eine Metainformation). An sich bedeutet aber ein Abbau der Kommunikation auch, dass man hier den Socket wieder schließt. Kommt der selbe Client (mit gleicher oder andere IP-Adresse) wieder, so wird hier ein neues Socket-Objekt verwendet. An sich solltest Du also nie unnötig ein Socket aus irgendwelchen Gründen offen lassen, dass ist eine System-Ressource und sollte immer so schnell wie möglich wieder frei gegeben werden (man hat immer nur endlich viele Ressourcen!).

Gruß Der Unwissende

.chicken 15. Mai 2007 14:39

Re: Pokerprojekt realisierung
 
Da iser auch shcon wieder, der Unwissende :P
Ok, danke an euch beide! Damit wär das erstmal geklärt ;-)


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:53 Uhr.
Seite 7 von 7   « Erste     567   

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