Client- und ServerSocket



  • Hallo

    nein meines Wissen nicht. Und da eh auch die komplette Doku zu Indy in Englisch ist, solltest du besser Englisch halbswegs können, sonst kommst du eh nicht weit.

    bis bald
    akari



  • Hallo,

    ich danke auch für den Upload. Hab Indy auch noch gebraucht...danke

    MFG,
    Tomo



  • Hallo noch mal,

    ich möchte ein Chat programmieren (hab ich eigentlich schon)
    Nun möchte ich die Funktion hinzufügen das in einem Memofeld die Eingeloggten User stehen. Danke



  • ps: wie geht das XD



  • hab ich eigentlich schon

    Das würde ich so nicht sagen, aber

    warum in einem Memo und nicht sinvollerweise in einer Listbox? Oder wer soll die User wozu editieren?

    Des Weiteren wird keiner die knowledgsbase übersetzen, das ändert sich nicht von einem Tag auf den anderen



  • Hallo

    ich vermute NoobieBobbie meint auf dem Client eine Übersicht der eingeloggten User.
    Dafür gibt es verschiedene Möglichkeiten, am sinnvollsten ist es, wenn der Server über ein Kommando die Liste an den Client schickt.
    Der Server muß ja schließlich wissen, wieviele Clients angemeldet sind und mit welchen Nicks die laufen.

    bis bald
    akari



  • Christian211 schrieb:

    hab ich eigentlich schon

    Das würde ich so nicht sagen, aber

    warum in einem Memo und nicht sinvollerweise in einer Listbox? Oder wer soll die User wozu editieren?

    Des Weiteren wird keiner die knowledgsbase übersetzen, das ändert sich nicht von einem Tag auf den anderen

    von mir aus auch listbox. memo würde ich auf readonly = true setzen.

    akari schrieb:

    Hallo

    ich vermute NoobieBobbie meint auf dem Client eine Übersicht der eingeloggten User.
    Dafür gibt es verschiedene Möglichkeiten, am sinnvollsten ist es, wenn der Server über ein Kommando die Liste an den Client schickt.
    Der Server muß ja schließlich wissen, wieviele Clients angemeldet sind und mit welchen Nicks die laufen.

    bis bald
    akari

    Genau so meine ich das. Aber ich weiß nicht wie ich das machen soll.
    Wenn beim Clienten OnRead ausgeführt wird wird ja der bekommene Text ausgelesen. Aber so wird ja schon der 'Chattext' gelesen wie kann ich dann den Clienten von Chattext und Userliste unterscheiden lassen.



  • Hallo

    indem du wenn du die Benutzerliste verschickst, ein Schlüsselwort davorschreibst, auf das du jede einkommende Nachticht mit den gewohnten AnsiString-Methoden überprüfst. Zum Beispiel USERLIST: oder so.

    bis bald
    akari



  • Ja stimmt. danke
    Mir ist noch was eingefallen: Wie kann ich dem Server beibringen wie die user heißen? Hoffe kann man verstehen 😕



  • In dem der Client sich beim Server bei der Anmeldung mit einen Namen meldet und der Server diesen zu diesem Client in einer Liste speichert.



  • Wie genau soll das gehen? Wie der Name geschickt und gespeichert wird ist klar.
    Aber wie mache ich das das der Server weiß wann der jenige sich ausloggt. Also wie kann man den Namen einem Clienten zuweisen. Gibts dafür eine methode? danke



  • Hallo

    dazu verwendest du den Event TServerSocket::OnClientDisconnect
    Alles was du dir merken must, ist zu welchem Socket welcher Loginname gehört. Dazu passt am besten eine std::map<TCustomWinSocket, AnsiString>.
    Beim anmelden eines neuen Clients wird ein neuer Eintrag hinzugefügt, aus der Map kannst du dann deine Benutzerliste erstellen und bei einem Disconnect kannst du einfach den entsprechenden Einträg wieder löschen.

    bis bald
    akari



  • O.o
    das war mir jetzt zu hoch sorry 😞 🙄



  • Hallo

    Kernpunkte sind nur zwei Sachen
    - der Event TServerSocket::OnClientDisconnect
    - die Zuordnung von einem Socket-Objekt zu dem richtigen Login-Nick

    wie du das machst ist deine Wahl, es gibt auch einfachere wege.

    bis bald
    akari



  • akari schrieb:

    - die Zuordnung von einem Socket-Objekt zu dem richtigen Login-Nick

    Das ist das wo ich nicht weiß wie es geht. Könnteste mir vielleicht auch einen der einfachen Wege zeigen? ^^ danke



  • nix? ^^



  • Hallo

    ich habe dir genug Hinweise gegeben. EIn bißchen selber denken, nachschlagen und programmieren must du auch mal.

    bis bald
    akari


Anmelden zum Antworten