AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Den Clients ID´s übergeben
Thema durchsuchen
Ansicht
Themen-Optionen

Den Clients ID´s übergeben

Ein Thema von Dragon27 · begonnen am 16. Feb 2005 · letzter Beitrag vom 10. Jun 2005
Antwort Antwort
Dragon27

Registriert seit: 20. Nov 2003
Ort: Aßling
543 Beiträge
 
Delphi XE6 Enterprise
 
#1

Den Clients ID´s übergeben

  Alt 16. Feb 2005, 10:24
Hallo zusammen!

Ich arbeite momentan mit den Socket Komponenten von Delphi (Ich weiß veraltet). Meine Frage nun an Euch:

Mein Server soll die ID´s der Clients verwalten denn wenn der Server was senden soll muss ich ihm ja immer einen Integer für den Client angeben.

Meine Lösung momentan:

Delphi-Quellcode:
var
  UsersName: array [0..100] of String;

implementation

{$R *.dfm}

function GetFreeSID():Integer;
var Zahl:Integer;
begin
Zahl:=-1;
 while Zahl<99 do begin
  inc(zahl);
  if UsersName[Zahl]=''
  then break;
 end;
 Result:=Zahl;
end;

Procedure GetNewSID(Name:String);
begin
 UsersName[GetFreeSID]:=Name;
end;
Mein Problem daran ist nun, in welches Ereignis im Server ich die Procedure GetNewSID aufrufe???

Das steht in der Delphi-Hilfe, aber ich konnte nichts finden wo denn dem Client der Integer zugewiesen wird.

Zitat:
Tritt ein, wenn ein Client-Socket eine vom Server-Socket akzeptierte Verbindung einrichtet.

Delphi-Syntax:

property OnClientConnect: TSocketNotifyEvent;

C++ Syntax:

__property TSocketNotifyEvent OnClientConnect = {read=FOnClientConnect, write=FOnClientConnect};

Beschreibung

In einer Ereignisbehandlungsroutine für OnClientConnect können Sie Aktionen festlegen, die ausgeführt werden, sobald ein Client-Socket die Verbindung zum Server-Socket eingerichtet hat. Beispielsweise kann der Socket in einer OnClientConnect-Ereignisbehandlungsroutine über die Verbindung lesen oder schreiben.

Die Reihenfolge der Server-Socket-Ereignisse bis hin zu OnClientConnect ist folgende:

1 Bevor der Server-Socket für den Empfang geöffnet wird, tritt das Ereignis OnListen ein.
2 Der Server-Socket empfängt Client-Anforderungen in einer Warteschlange. Er akzeptiert eine dieser Anforderungen und empfängt ein Windows-Socket-Handle für die neue Socket-Verbindung.
3 Der Server-Socket erzeugt das Ereignis OnGetSocket und übergibt das Windows-Socket-Handle. Wenn das TServerClientWinSocket-Objekt für den Server-Endpunkt der neuen Verbindung nicht in der Behandlungsroutine für das Ereignis OnGetSocket generiert wird, erzeugt der Server-Socket dieses Objekt. Das TServerWinSocket-Objekt empfängt weiterhin Anforderungen anderer Clients.

4 Es tritt das Ereignis OnAccept ein, in dem das neue TServerClientWinSocket-Objekt verwendet wird.
5 Wenn ServerType den Wert stThreadBlocking hat und im Zwischenspeicher kein Thread zur Verfügung steht, tritt das Ereignis OnGetThread ein. Generiert die Behandlungsroutine für das Ereignis OnGetThread keinen Thread, erzeugt der Server-Socket ein TServerClientThread-Objekt.
6 Wenn ServerType den Wert stThreadBlocking hat, tritt das Ereignis OnThreadStart ein, wenn der Thread mit der Ausführung beginnt.

7 Der Client vervollständigt die Verbindung zum TServerClientWinSocket-Objekt. Danach tritt das Ereignis OnClientConnect ein.

Hinweis: Hat ServerType den Wert stThreadBlocking, müssen Sie sicherstellen, daß der gesamte Code in der Ereignisbehandlungsroutine für OnClientConnect Thread-sicher ist. Mit Hilfe der Methode GetClientThread des im Parameter Sender angegebenen Objekts können Sie auf die speziellen Thread-Informationen zugreifen.
Hinweis: Die Behandlungsroutine für das Ereignis OnClientConnect des TServerSocket-Objekts wird zusammen mit der Ereignisbehandlungsroutine OnClientConnect für das zugehörige TServerWinSocket-Objekt eingerichtet.
Ich hoffe Ihr könnt mir helfen!

Danke

Andy
Delphi is ......... DELPHI!!
  Mit Zitat antworten Zitat
Benutzerbild von Zacherl
Zacherl

Registriert seit: 3. Sep 2004
4.629 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#2

Re: Den Clients ID´s übergeben

  Alt 10. Jun 2005, 13:57
Ich würde das ins OnClientConnect Eregniss schreiben ...

Florian
Projekte:
- GitHub (Profil, zyantific)
- zYan Disassembler Engine ( Zydis Online, Zydis GitHub)
  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 22:09 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