Einzelnen Beitrag anzeigen

Benutzerbild von runningsoft
runningsoft

Registriert seit: 8. Okt 2004
Ort: Bernau
108 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: Server/Clint Sockets - Authentifizierung programmieren??

  Alt 30. Okt 2004, 19:49
Hallo Romber,

ich habe mir zu diesem Zweck ein kleines "Übertragungsprotokoll" erstellt, dass ich dann mittels SendBuf (anstatt SendText) verschicke.

Dieses Protokoll besteht im Prinzip aus einem Record in dem ich u.a. eine ID für die Clients, einen Anweisungsstring sowie den eigentlichen Meldungsstring untergebracht habe.

Beim erfolgreichen Anmelden am Server erhält der Client, der mit der ClientID -1 initialisiert wurde, vom Server seine ClientID mitgeteilt.

Bei jeder Meldung, die ich nun vom Server an die Clients sende, wird die ClientID des Clients mitgeschickt, für den die entsprechende Meldung gedacht ist.

Das eigentliche Versenden erfolgt immer noch an alle angemeldeten Clients:

Delphi-Quellcode:
for AnzahlClients := 0 to ServerSocket1.Socket.ActiveConnections - 1 do
   begin
   ServerSocket1.Socket.Connections[AnzahlClients].SendBuf(MessageRec,SizeOf(MessageRec));
   end;
Im OnRead - Ereignis eines jeden Clients werte ich nun nach Empfang des Buffers zuerst die ClientID aus. Ist die gesendete Clíent-ID identisch, mit der ID des Clients, weiß er "Hallo, ich bin gemeint", ansonsten wird die Nachricht einfach ignoriert.

Steffen
Steffen
  Mit Zitat antworten Zitat