chat-tool: empfangen und tippen parallel in der console



  • hallo!

    ich hab n chat-tool gebastelt mit serverpart und client im consolenbereich...
    ich habs jetz soweit hinbekommen, dass ich ich mit dem client zum server connecten kann und auch texte per eingabe zum server senden kann...
    nun hab ich aber ein prob!

    ich hab das ganze verfahren mit ner do while schleife gelöst...
    hier der ausschnitt:

    do
    {
    colcout.setcolor(FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_INTENSITY );
    command.getmessage(c);
    cout<<endl;
    cout<<">";
    cin>>insert;

    if (strcmp(insert,"\n")==0)
    {
    strcpy(insert,"empty");
    }
    else if (strcmp(insert,"/exit")==0)
    {
    command.exit(insert);
    }
    else if (strcmp(insert,"/help")==0)
    {
    command.help();
    strcpy(insert,"empty");
    }

    else
    {
    command.sendmessage(insert, c);
    strcpy(insert,"empty");
    }
    }
    while (strcmp(insert,"empty")==0);

    closesocket(s);
    return (0);
    };

    d.h. solange ich nix bestimmtes eingib, sendet er "insert" zum anderen...
    mit "empty" fängt die schleife wieder von vorne an, nämlich bei getmessage()

    ---> nur ich will ja , dass ich sowohl was eintippen kann, als auch daten
    empfangen kann! aber in dem fall kann er entweder das eine, oder das andere...!
    d.h. cin>>insert blockiert alles, da er erst dann weiter macht, wenn ich was eingib...

    nur mir fällt keine lösung ein...
    ich hab mal an interrupts gedacht, aber da hab ich kein plan 🙂 naja, vielleicht gehts ja auch ohne ...

    mfg
    haMMer



  • Einmal reicht aber...

    MfG SideWinder


Anmelden zum Antworten