Ergebnis 1 bis 2 von 2

Thema: [C/C++] Socket-Wrapper

  1. #1

    [C/C++] Socket-Wrapper

    Jeder, der mal mit Sockets in C/C++ gearbeitet hat, kennt das Problem. Die Dinger sind furchtbar umständlich und funktionieren überall ein bisschen anders. Und trotzdem hat sich keine Alternative bzw. kein Wrapper durchgesetzt. Selbst Boost enthält keine Netzwerkklassen. Deshalb möchte ich hier mal eine kleine Sammlung mit Wrappern, die ich schon ausprobiert habe, starten:

    wxSocket
    Als Teil von wxWidgets sehr schick implementiert, weil man auch gleich ordentliche Strinklassen und so weiter mit dabei hat... aber eben leider auch ein komplettes GUI Toolkit. In wxBase (Grundsystem ohne GUI) lassen sich die Socketklassen leider nur eingeschränkt nutzen, weil der Eventloop (noch) nicht funktioniert.

    EzSocket
    Sehr minimalistisch. Eigentlich nur eine Hand voll Funktionen, die das Erstellen der Sockets vereinfachen sollen. Für erfahrene Programmierer sicher nicht die schlechteste Lösung, aber eben ohne viel Luxus.

    Practical C++ Sockets
    Bin heute erst drauf gestoßen. Die Sockets werden handlich in Klassen verpackt. Um zu verbinden, muss man nur dem Constructor die Adresse und den Port als Parameter mitgeben und los gehts. Meiner Meinung nach wohl die eleganteste Lösung, aber wer weiß, wer weiß...

    Damit das hier nicht zum Monolog wird, mein typischer Aufruf: schreibt, was ihr für Erfahrungen gemacht habt Ich bin immer noch auf der Suche nach DER Lösung. Die "Practical C++ Sockets" sind nah dran, aber vielleicht gibts ja noch was besseres.

  2. #2
    Ich persönlich habe mich nie mit solchen vorgefertigten klassen befasst, außer in so fern, dass ich mir angeguckt habe wie sie funktionieren, um selber mal was schreiben zu müssen.

    Aus Erfahrungen von anderen hab ich allerdings mitgekreigt, dass sie WxSocket und die practical C++ Sockets am ehesten geschätzt haben.

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •