Netzwerkprotokoll, Sockets... Brauche Hilfe



  • Hallo,
    ich beschäftige mich schon recht lange mit C++ und würde nun gerne eine Anwendung schreiben, die mit Sockets arbeitet. Alles kein Problem und ich hab das auch schon öfters gemacht, aber diesmal würde ichs gerne anders angehen 🙂

    Ich müsste Nachrichten nach diesem Muster verschicken können:

    Befehl "Parameter1" "Parameter2" "Parameter3" ...

    Wobei es auch Befehle ohne Parameter geben soll 🙂 Wie würdet ihr das anstellen?

    Ich hab testweise mal dies ausprobiert:

    Command = new char[7];
    
    if ( !Command )
    {
    	std::cerr << "Fehler: new[]" << std::endl;
    	return -4;
    }
    
    Command[0] = 25; // Befehlsnummer
    Command[1] = 'h'; // Parameter
    Command[2] = 'i';
    Command[3] = '!';
    Command[4] = '!';
    Command[5] = -1; // "Ende Zeichen"
    Command[6] = '\0';
    
    Send( Socket, Command );
    
    delete Command;
    

    Allerdings scheint mir das sehr unpraktisch. Gibts keine Möglichkeit das vernünftig zu verschicken? Ich möchte später auch Datein verschicken können und würde das daher von vornerein richtig planen. Könnt ihr mir ein paar Anregungen und Beispielcode geben? Ich schätze so schwer ist das für euch nicht. Was mir z.B. aufgefallen ist: Viele Internetserver nutzen scheinbar kein Textbasiertes Protokoll sonder irgendwas anderes. Verbindet man einfach mal so drauf kriegt man ohne Ende Sonderzeichen und Schrott gesendet. Ich würde das gerne auch so machen 🙂 Wie wird sowas also programmiert? Und wie nennt sich das?

    Ich arbeite übrigens unter Windows. Es wäre aber auch gut, wenn das später auch unter Linux lauffähig wäre, aber ist jetzt nicht unbedingt notwendig.

    Vielen Dank im Voraus

    Gruß
    MisterX




Anmelden zum Antworten