AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi allen Clients, alle connecteten clients anzeigen lassen ;-)
Thema durchsuchen
Ansicht
Themen-Optionen

allen Clients, alle connecteten clients anzeigen lassen ;-)

Ein Thema von Executor · begonnen am 22. Jul 2006 · letzter Beitrag vom 23. Jul 2006
 
Executor

Registriert seit: 22. Jul 2006
12 Beiträge
 
#1

allen Clients, alle connecteten clients anzeigen lassen ;-)

  Alt 22. Jul 2006, 01:01
Erstmal hallo!
So, wie man ja am Titel erkennen kann ist mein thema (meiner meinung nach) etwas komplizierter.
Will ich nicht lang drumrumreden:
Ich bin seit einiger Zeit dabei, ein Chatprogramm zu erstellen. Ich habe nun folgendes Problem:
Ich möchte, dass man beim client, alle connecteten User sieht (wie etwa die Freundeliste in ICQ).
Da ich recht neu in delphi bin, habe ich keine ahnung wie ich es anstellen soll...Ich hab beim client eine listbox reingetan, wo die Clients dann später angezeigt werden sollen (für bessere Vorschläge als die Listbox bin ich gerne offen =))
Wie sage ich dem server nun, dass er alle connecteten User an alle senden soll?

Mein 2 Problem (aber nicht so wichtig wie das erste):
Ich habe die ini-files benutzt, um eine Datenbank zu erstellen, wo alle registrierten Accounts gespeichert sind.
Jetzt will ich, dass beim Login der Client an den Server die Daten schickt, der server diese überprüft, sein ok sendet, und die Wilkommensmeldung erscheint.
Das habe ich versucht so zu lösen:

Delphi-Quellcode:
procedure TForm1.ClientSocket1Connect(Sender: TObject;
  Socket: TCustomWinSocket);
begin
  clientsocket1.socket.sendtext('>connect');
  clientsocket1.socket.sendtext(form2.edit1.Text) //form2.edit1.Text ist der AccName
  clientsocket1.socket.sendtext(form2.maskedit1.text) //das Passwort
end;
das '>connect' gehört zum "Protokoll" und wird vom client gesendet, wenn er connecten will.
Der Server darauf:

Delphi-Quellcode:
procedure TForm1.ServerSocket1ClientRead(Sender: TObject;
Socket: TCustomWinSocket);
var Text:string;
i: Integer;
o: integer;
pw: string;
ini: Tinifile;
begin

  Text:=Socket.ReceiveText;

  if text='>connectthen memo1.Lines.Add('--client allowed to connect-->'+socket.RemoteAddress)
  else
  if text<>'>connect'
  then begin
  Memo1.Lines.add(socket.RemoteAddress+'--('+Timetostr(now)+') : '+text);
   For I := 0 to ServerSocket1.Socket.ActiveConnections - 1 do
   begin
   with ServerSocket1.Socket.Connections [I] do
   if (Connected) then SendText(Text)
end;
end;
end;
Wie lasse ich den Client jetzt warten, bis der server die daten überprüft hat, und sein ok schickt und wie lass ich die Logindaten überprüfen und schicke diese nicht gleich an alle clients, weil diese daten (also die Logindaten) ja <>'>connect' sind.
Hoffe ihr versteht mich und könnt mir helfen

Executor
  Mit Zitat antworten Zitat
 


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 16:47 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-2025 by Thomas Breitkreuz