C++ Netzwerk-/Socketprogrammierung



  • Schreib unter Deinen obigen Quelltext folgende Zeilen:

    int main()
    {
    }
    


  • Perfekt thx klappt :)...gehört da nicht noch ein return 0; rein ?

    Gruß
    silent12



  • Wenn du schnell zu einem Ziel kommen willst, kann ich dir SFML.Network empfehlen. Wäre plattformunabhängig, bietet wahrscheinlich aber weniger Low-Level-Konfigurationsmöglichkeiten.



  • silent12 schrieb:

    Perfekt thx klappt :)...gehört da nicht noch ein return 0; rein ?

    Gruß
    silent12

    Nein. Bei main() ist return 0 optional.



  • Führt man Winsocket Programme standartmäßig als Konsolenanwendung aus ?

    Gruß
    silent12



  • hi

    nein. sockets kannst du in jeder art von anwendung verwenden. ich glaub das es erst bei driver-entwicklung einschraenkungen gibt.
    du kannst dir sockts wie dateien vorstellen.

    das ist ein recht gutes buch zur socket programmierung welches ich gerne verwende. vielleicht bekommst du das ja in einer bibliothek zum ausleihen.

    Meep Meep



  • Danke für die vielen Tipps 🙂

    Eine Frage hätte ich trotzdem noch:
    Wenn ich die main-function einfach nur ans Ende hinsetze, dann kann ich doch in dem Code darüber keine Ausgaben machen oder ?
    Wenn doch wie würde das gehen ? Mit Funktionsaufrufen ?

    Gruß
    Tim



  • Lies dir doch lieber erstmal ein ordentliches Buch zum Thema C++ durch, bevor du dich mit etwas befasst von dem du nicht einmal 10 Prozent verstehst.



  • Auf genau so eine Antwort habe ich irgendwie schon gewartet. 😃
    Aber damit das nicht so bleibt und ich außer Schleifen und Arrays... nichts mit C++ kann, will ich mehr lernen.
    Nur finde ich immer nur Tutorials generell zu C++ die nur Schleifen, Arrays,... erklären und nicht tiefergehen.
    Deshalb wollte ich jetzt mit der Socket-Programmierung anfangen, da es dort wenigstens andere Tutorials gibt 🙂

    Würde mich SEHR über gute Tutorials (siehe oben) freuen.

    Gruß
    Tim



  • In Socket-Tutorials wird erklärt wie man mit Sockets umgeht - C++ wird dir da keines beigebracht.
    Und da fehlt's noch an ganz grundlegenden Dingen wenn du Fragen stellst wie...

    Wenn ich die main-function einfach nur ans Ende hinsetze, dann kann ich doch in dem Code darüber keine Ausgaben machen oder ?
    Wenn doch wie würde das gehen ? Mit Funktionsaufrufen ?





  • Da wird wenigstens mal etwas zu C++ erklärt, was ich nicht kenne.
    Danke für das Tutorial zur Socket-Programmierung 🙂

    Werde ich machen sobald ich diesen Error hier behoben habe:

    //Add a carriage return and line feed before sending data   
                                char szTemp[len+100];
    

    Definition von len:

    int len = GetWindowTextLength(GetDlgItem(hdwnd, ID_EDIT_SEND));
    

    Error:
    Konstanter Ausdruck erwartet
    Zuordnung eines Arrays der konstanten Größe 0 nicht möglich.
    'szTemp': Unbekannte Größe

    Kann mir bitte noch jemand helfen ? Würde gerne noch ein Programm zum Laufen bekommen, auf das ich dann später sobald ich weitere Tutorials gemacht habe zurückgreifen kann 🙂

    Gruß
    silent12



  • len ist keine konstante und wird erst zur laufzeit abgefragt. dadurch funktioniert das mit einem c-array nicht. nimm z.b. einen vector.

    Meep Meep



  • @silent12
    Die "statische" Definition eines Arrays mit variabler Länge ist ein C-Feature (VLA - variable length arrays) welches es in C++ nicht gibt.



  • Nur zu meinem Verständnis nochmal:
    In len ist doch Textlänge des Childwindows des Windows mit dem Handle hdwnd gespeichert oder ? Dies wird doch über die GetDlgItem-Funktion ermittelt oder ?

    Und dieser Wert der nicht konstant ist, da er ja erst ermittelt wird, wenn das Window schon erstellt wurde kann nicht in einem Array verwendet werden, da man wie hustbaer gesagt hat, keine statischen Arrays mit variabler Länge erstellen kann oder ?

    Bin noch "blutiger" Anfänger, will aber umbedingt mehr lernen.
    Kann mir jemand sagen, was ein vector ist und wie ich diesen einbauen kann ?
    Ist das soetwas wie ein statisches Array mit variabler Länge ?

    Mein Status:
    Man muss per #include<vector> Vectoren inkludieren.
    Man erstellt sie per vector<type> name(12);
    also wäre es bei mir doch: vector<long> szTemp(len+100);
    ,aber wir mit angezeigt, dass vector nicht definiert sei....

    Gruß
    silent12



  • Passt schon fast
    vector ist eine Klasse (bzw. genauer ein Klassen-Template), die (das) im Namespace " std " definiert ist.

    Du musst also std::vector<long> schreiben.
    (Nur wieso jetzt long , ich dachte du willst du char Array?)



  • hustbaer schrieb:

    (Nur wieso jetzt long , ich dachte du willst du char Array?)

    Weil er ganz offensichtlich die einfachsten Grundlagen nicht kennt, entsprechende, gut gemeinte Hinweise aber nicht hören will, bzw. ignoriert.



  • Ja ich bin noch völliger Anfänger, aber es bringt nichts einem Anfänger zu sagen, dass er nichts kann, sondern ihm so wie viele hier (noch einmal einen großen Dank) gute Tipps zu geben. 🙂

    Ok mit Vectoren funktioniert es nicht, da ich dann jedes mal eine Konvertierungsfunktion für szTemp bräuchte.

    Versuche es einfach mal als C-Projekt zu deklarieren 🙂

    Gruß
    silent12



  • silent12 schrieb:

    sondern ihm so wie viele hier (noch einmal einen großen Dank) gute Tipps zu geben.

    Leider bist Du einer von denen, bei denen das nichts nützt ...



  • dir fehlen die grundlagen.
    hol dir ein buch zu c++ lernen
    oder pflege deine ignoranz weiter und
    sei ein leuchtendes beispiel
    für den kruger-dunning effekt.


Anmelden zum Antworten