Crossplatform Socket-Bibliothek



  • Hallo,

    ich schreibe gerade an einem kleinen Compiler (oder eher an einem Compreter), der unter möglichst vielen OS lauffähig sein soll.

    Es geht dabei im Wesentlichen um ein Programm, das opcode (oder zumindest ASM) erzeugen soll der seinerseits mit angeschlossenen Geräten (GPIB, aber auch über Netzwerk) kommunizieren soll.

    Die Sockets zur Netzwerkprogrammierung asind mir dabei allerdings ein Dorn im Auge, weil ich am Liebsten nur eine Version des Programms für MacOS, Windows und Linux schreiben möchte, also keine OS-Spezifischen Funktionen verwenden will.

    Ich habe mir bisher asio und einige andere angeschaut. Allerdings sind diese Bibliotheken nie gerade kompakt und/oder benötigen zusätzliche Programm.

    Gibt es eine möglichst handliche Alternative? Wie ist das mit Cygwin? Das sollte doch auch POSIX sockets unterstützen, oder? Wäre die performance damit in Ordnung?



  • Schreib dir doch ne eigene Netzwerkbibliothek.
    Die meisten Funktionen und Strukturen sind auf dem Windows gleichbenannt, wie auf dem Linux. Fehlt nur noch Winsocks initialisieren und Winsocks-Lib einbinden, was du schnell mit nem #idef _WIN32 gelöst hast.

    Ansonsten Boost.Asio/curl/Poco.



  • Wenn es nur um einfache TCP/UDP Verbindungen geht, dann kannst du die sockets-Schnittstelle verwenden.
    Statt read/write kannst du recv/send nehmen, das kennen die Winsockets auch.


Log in to reply