Server für mehrere Clienten



  • Hallo
    habe endlich den Server soweit fertig das er die Grundfunktionen wie Nachrichtensenden und Nicks hinzufügen löschen erfolgreich macht.

    C++ Tool: Borland C++ Builder 6

    So nun zum Problem
    1:
    da der Server für mehrere Clienten sein soll ich es aber bisher nur schaffe dies für einen einzigen Clienten zu realiseieren frage ich euch ob ihr mir helfen könnt wie ich den Server und Clienten umschreiben muss um das Ziel zu erreichen.
    Habe selber Tage lang versucht die über Threads zu realisieren aber bekomme das einfach nicht ans Laufen naja hoffe ihr könnt mir dabei helfen.

    2:
    Wie kann ich eine sinnvolle selbserstellte Klasse in mein Projekt einbringen ?

    MFG
    Crash

    PS:
    Hier die Links zu den Server und Clienten
    Server:http://web32.w3profiler.com/files/ChatServerSC.rar
    Client:http://web32.w3profiler.com/files/ChatClientSC.rar



  • Hallo

    1. Du verwendest doch TServerSocket. Das ist doch schon für mehrere Clients gedacht, du must es nur richtig anwenden. Schau dir zum Beispiel das hier an

    idServer->Socket->Connections[0]->SendText("0" +lbUser->Items->Strings[Lauf-1]);
    

    Connections ist das Array über alle angemeldeten Clients.

    2. Damit kommen wir zum zweiten Punkt : du kannst eine Klasse einsetzen, um die Datend er einzelnen Benutzter zu verwalten. Damit du weißt, welcher Benutzer welche Connection besitzt, zum Beispiel.

    bis bald
    akari



  • ja schon nur wie stelle ich das an? das ist ja mein problem sagen wir mal es gibt
    2 User. So hat User1 Connection[0] und User2 Connection[1].

    User1 sendet ne Nachricht so woher weis der Server jetzt, das User1 ne nachricht geschickt hat?



  • Hallo

    Die richtige Connection, die dem Server etwas sendet, wird doch bei OnClientRead im Parameter Socket übergeben. Also statt

    AnsiString uMSG = idServer->Socket->Connections[0]->ReceiveText();
    

    schreibst du dnn

    AnsiString uMSG = Socket->ReceiveText();
    

    und genauso betrifft das alle anderen Events, die ein Socket-Parameter haben.

    bis bald
    akari



  • besten dank hät ich auch selber drauf kommen können aber naja nach 2 wochen dauer proggen hacks hier und da.

    ach umnochmal auf die klasse zu kommen wie kann ich da jetzt sinvoll ne klasse einbauen? (beispiel wäre nicht schlecht)

    da ich selber nicht wüsste wie bzw warum ich da noch ne klasse einbauen sollte nur leider möchte mein lehrer das haben das im projekt min 1 selbst erstellte klasse vorhanden ist egal ob client oder server seitig



  • Hallo,
    habe ein ähnliches Problem, nur muss ich jedem username die entsprechende connection zuordnen.
    ich hab n array von ansistrings erstellt, und der User users[i] soll unter ServerSocket1->Connections[i] zu erreichen sein. Wie genau finde ich jetzt raus, welchen wert i hat (bei der Anmeldung des Users schickt der Client eine Nachricht mit dem entsprechenden Username, und jetzt muss ich halt wissen, unter welchem Index ich den username abspeichere)?


Anmelden zum Antworten