Entwickler-Ecke

Internet / Netzwerk - Chat in Delphi mit Passwort Zugang


michaaaaa - Di 13.10.09 14:25
Titel: Chat in Delphi mit Passwort Zugang
Hallo,
ich hab mir n kleinen chat zusammen geschrieben...


so, nun hatte ich die idee, eine art passwort abfrage zu schreiben, dass man quasi beim Starten des Servers in ein Edit Feld ein PW eingibt.
Der CLient der sich zum Server verbinden will muss dann dieses PW ebenfalls in ein Edit-Feld eingeben...

wie kann ich das realisieren?

ideen hab ich ja schon: PW müsste vom typ string sein...
aber wie bekomme ich das hin, dass das PW beim Anmelden überprüft wird?

MFG,
micha


Hugo343 - Di 13.10.09 17:52

Mach ein neues Formular auf das das Server-Haupt-Programm beim Start anzeigt.
Und dann musst du dann in einer Variable das Passwort ablegen.
Beim Clienten das Gleiche, bis auf das wenn er dann bei seiner Passwort-Meldung auf den Ok-Button klickt, das eingegebene Passwort an den Server (er muss einmal zum Server verbinden) schickt und wenn das PW falsch ist wieder disconnectet. Ich hab mich früher mal mit nem Chat versucht, habs aber nicht fertiggebracht. Is nurn Konzept.


Narses - Di 13.10.09 18:26

Moin und :welcome: im Forum!

user profile iconmichaaaaa hat folgendes geschrieben Zum zitierten Posting springen:
ich hab mir n kleinen chat zusammen geschrieben...
Dein Code ist potentiell defekt:

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
procedure TFrmServer.ServerSocketClientRead (Sender: TObject; Socket: TCustomWinSocket);
var Nachricht: TChatNachricht;
    I: Integer;
begin
  {Nachricht empfangen}
  Socket.ReceiveBuf (Nachricht, SizeOf(Nachricht));
  {Protokoll am Server}
  MemNachricht.Lines.Add ('Von ' + Nachricht.Nickname + ': ' + Nachricht.Text);
  {Weiter an alle Teilnehmer}
  with ServerSocket.Socket do begin
    for i := 0 to ActiveConnections-1 do
      Connections[I].SendBuf (Nachricht, SizeOf(Nachricht))
  end{with}
end;
Du wertest nicht aus, wieviele Bytes tatsächlich gelesen wurden (oder ob überhaupt). Das kann zu inkonsistenten records führen. :idea: Darauf kannst du kein Protokoll aufsetzen (was für deinen Wunsch nach einer Passwortabfrage aber nötig ist). :nixweiss:

Hier ist ein Tutorial [http://www.delphi-library.de/topic_TerminatorzeichenProtokollTutorial+Sockets+v400_54269.html], mit dem deine Erweiterung problemlos möglich ist. ;)

cu
Narses