TCP Datenaustausch in Abhängigkeit der Eingabe des Nutzers



  • nwp2 schrieb:

    Edit: Die Forenuhr geht vor.

    😃

    ich geb mal ne runde *kaffee* aus, hätt ja nicht gedacht das hier um die uhrzeit der bär steppt 😮



  • erst ma danke für die schnellen antworten. ich werd gleich mal ein paar sachen probieren. 😃



  • du kannst auch einfache ne getarnte struct übergeben und auf der anderen seite auslesen:)



  • nwp2 schrieb:

    ...
    else if (!memcmp(buf, "reverse ", 8)){
    ...
    

    denke du dachtest eher an sowas 😉

    ...
    else if (strlen(buf) > 7 && memcmp(buf, "reverse ", 8)==0){
    ...
    


  • noobLolo schrieb:

    denke du dachtest eher an sowas 😉

    ...
    else if (strlen(buf) > 7 && memcmp(buf, "reverse ", 8)==0){
    ...
    

    Wieso das denn?
    buf ist länger als 8 Zeichen (>=256), sonst geht das alles sowieso nicht.
    So paranoid dass ich sinnlose Absicherungen mache bin ich noch nicht. Aber ein bisschen nachbearbeitet werden sollte es noch:

    const char reverse[] = "reverse ";
    if ...
    ...
    else if (!memcmp(buf, reverse, sizeof reverse - 1)){
    	int arraylen = strlen(buf) - sizeof reverse + 1;
    	for (int i = 0; i < arraylen; i++)
    		buf2[i] = buf[sizeof reverse - 1 + i];
    }
    

    Vielleicht sollte man auch ein const int reverseLength = sizeof reverse - 1; definieren.



  • nwp2 schrieb:

    noobLolo schrieb:

    denke du dachtest eher an sowas 😉

    ...
    else if (strlen(buf) > 7 && memcmp(buf, "reverse ", 8)==0){
    ...
    

    Wieso das denn?
    buf ist länger als 8 Zeichen (>=256), sonst geht das alles sowieso nicht.

    Der dritte Parameter gibt die Anzahl der zu lesenden Bytes an. Ist dies mehr, als vorhanden sind, so kehrt recv mit weniger als len Bytes zurück

    ...
    else if (rc > 7 && memcmp(buf, "reverse ", 8)==0){
    ...
    


  • Ich verstehe trotzdem nicht wozu du auf strlen(buf) > 7 testen willst.



  • nwp2 schrieb:

    Ich verstehe trotzdem nicht wozu du auf strlen(buf) > 7 testen willst.

    ja ok strlen(buf)>7 ist nicht die super idee

    aber

    else if (rc > 7 && memcmp(buf, "reverse ", 8)==0){
    

    mußt du zugeben ist schon nicht so schlecht 😃



  • Habs jetzt mit strcmp gemacht. Funktioniert bestens 🙂 Danke nochmal.
    So ein int i in der For-Schleife funktioniert übrigens im normalen c nich. Keine Ahnung wieso, aber da meckert der Compiler.

    lg



  • Ratsuchender schrieb:

    So ein int i in der For-Schleife funktioniert übrigens im normalen c nich. Keine Ahnung wieso, aber da meckert der Compiler.

    das geht ab C99
    🙂


Anmelden zum Antworten