Client\Server daten übermittlung



  • $~1 etc. sind ZeichenFOLGEN... Du greifst in deiner switch-anweisung auf ein einzelnes Zeichen zu... Wie soll das denn funktionieren?
    Mal ne Frage... Wie sieht dein Chat-Programm eigentlich sonst so aus?
    Was steht zu dem eben genannten Zeitpunkt überhaupt in tmptxt drin?



  • und wie kann ich auf Zeichenfolgen zugreifen?



  • HI,
    mit switch geht das nicht! Nur mit if !

    MFG

    Alexander Sulfrian



  • Client Seite:

    ClientSocket->Socket->SendText=(1);
    

    Server Seite:

    int id;
    
    id=Socket->ReceiveText();
    
    switch(id)
    {
    case 1: Application->Terminate();
    break;
    case 2: .....
    break;
    }
    

    Kannst für jedes Ereignis ne Eigene ID machen.
    über die switch/case Anweis8ng kannste die Ereignise auslösen.

    Wenn du was bracuhst wo du nen Ereignis ausklösen willst, das jedesmal nen neuen Zusatzwert hat, meld dich. Da hab ich auch was.



  • Original erstellt von Thargor:
    **Client Seite:

    ClientSocket->Socket->SendText=(1);
    

    Server Seite:

    int id;
    
    id=Socket->ReceiveText();
    
    switch(id)
    {
    case 1: Application->Terminate();
    break;
    case 2: .....
    break;
    }
    

    **

    Hi,
    im Prinzip ist das ja soetwas wie ein Protokoll!
    Ähm aber was soll das (der falsche Code)?

    Ich meine:

    ClientSocket->Socket->SendText=(1);
    

    währe das nicht besser so:

    ClientSocket->Socket->SendText(IntToStr(1));
    
    // oder 
    
    ClientSocket->Socket->SendText("1");
    

    und

    int id;
    id=Socket->ReceiveText();
    

    Wie stellst du dir von, dass es einen Text (AnsiString) automatisch in einen int umwandeln kann?
    Wenn dann müsstest, du schon das so schreiben:

    int id = IntToStr(Socket->ReceiveText());
    
    // oder bei einem Protokoll, wo z.B. das 1. Zeichen die Anweisungsart angibt:
    
    String Anweisung = Socket->ReceiveText();
    int id = IntToStr(Anweisung[1]);
    

    Und dann noch was: Du könntes ruhig ein bischen den Code einrücken! So z.B.:

    switch(id)
    {
     case 1: Application->Terminate();
             break;
     case 2: .....
             break;
    }
    

    Ist IMHO besser leserlich!

    Naja sonst ist das ja keine neue Idee! (s. Protokoll)

    MFG

    Alexander Sulfrian

    [ Dieser Beitrag wurde am 18.05.2003 um 00:13 Uhr von Alexander Sulfrian editiert. ]



  • Naja.

    Sowie ich es da stehen habe funzt es bei mir. Hab mich auch gewundert.

    Sorry wegen den Text. Normalerweiße mach ich das.

    Naja. Ehrlich gesagt habe ich über Protokollenichts gelesen. Wusste net mal das das eins is. Hab ich mir halt mal so ausgedacht für mein aktuelles Projekt.



  • Original erstellt von Thargor:
    Ehrlich gesagt habe ich über Protokolle nichts gelesen.

    Hi,
    hast du schon mal auf den Link auf der 1. Seite des Threads geklickt?

    MFG

    Alexander Sulfrian

    PS: Endlich funkt die I-Net Verbindung auch unter Linux!



  • Ne. Hab ich net gemacht.

    Aber bei mir klappt j aalles im Projekt.



  • Das Versäumnis nachholen wär sehr sinnvoll(!)

    -junix



  • Jopp.

    Werd ich jetzt mal machen.

    EDIT:

    Gut beschrieben. Genausp hab ich es ja gemacht.

    ich schicke immer so was in der Art:

    0*0 oder 1*125

    die erste Zahl ist der Modus. Damit sage ich dem Client/Server, was genau er mit dem 2ten Teil machen soll.
    Das passiert dann halt alles über switch/case Abfragen.
    Teilweise sind es dann einfach Fallunterscheidungen (0 und 1) manchmal auch werte für Energieabzug. (Arbeiten an einem Netzwerkgame)

    Praktisch sowas. *g*

    [ Dieser Beitrag wurde am 19.05.2003 um 15:04 Uhr von Thargor editiert. ]


Anmelden zum Antworten