Übertragungsprotokoll Auswahl



  • @zhavok
    In dem Fall würde ich boost::asio auch dem Fall verwenden, wenn du dich damit wohlfühlst. Aber es schadet nicht, dich für die Zukunft im Bereich Sockets noch weiterzubilden. 😉



  • Definitiv. Besonders weil mich das Thema Netzwerkprogrammierung auch sehr interessiert. Ich wollte am Anfang mir mal die Winsocks anschauen, habe dann allerdings doch auf anraten Asio genommenen (plattformübergreifend usw)



  • @zhavok
    Ja also so extrem sind die Unterschiede zwischen Posix und WinSock auch wieder nicht. Ich sag mal so: wenn du dir selbst eine Socketklasse für Linux und Windows bauen wollen würdest, wäre das gut möglich. Die Funktionen sind aber beiden ungefähr die gleichen.

    setsockopt, bind, connect, listen, accept, send, recv, select/select

    Das würdest du schon geschultert kriegen 😉 Plus: es gibt tonnenweise Beispielquelltext im Netz und auch hier auf der Seite hast du da genug Unterstützung.



  • @it0101 sagte in Übertragungsprotokoll Auswahl:

    Ja also so extrem sind die Unterschiede zwischen Posix und WinSock auch wieder nicht. Ich sag mal so: wenn du dir selbst eine Socketklasse für Linux und Windows bauen wollen würdest, wäre das gut möglich. Die Funktionen sind aber beiden ungefähr die gleichen.

    Nur ist die reduzierung auf berkeley sockets nicht ratsam auf beiden Platformen. IOCP auf Windows ist ein wichtiger Mechanismus, wenn man es "richtig machen will".
    Und auf linux epoll.



  • @It0101 Posex macht mehr Spaß ....



  • Vielen Dank für eure vielen Antworten!

    Ich werde mich sobald ich privat etwas mehr Luft habe mal mit den Sockets auseinander setzten. Ist sicher spannend. Für das Projekt was ich jetzt mach, schau ich mit nochmal an, was es für fertige HTTPS Libs gibt und wie gut ich die implementieren kann. Falls ich nicht so richtig damit warm werde, schreib ich mein eigenes Protokoll. Die Zeit lässt es auf jeden Fall zu. Und die Idee von @It0101 mit dem Dateitransfer finde ich auch gut. Falls ich jetzt eine Lib finde, so werde ich sicher trotzdem einen Fall haben wo ich das mal anwenden kann, ansonsten nehm ich das gleich für mein Projekt hier.

    Also nochmal Danke an alle 🙂



  • @swordfish sagte in Übertragungsprotokoll Auswahl:

    @It0101 Posex macht mehr Spaß ....

    Gebe ich dir recht. Irgendwie liegt mir das auch mehr, aber in aller Regel ist das Betriebssystem vorgegeben und man hat nicht unbedingt die freie Wahl 😉

    @5cript sagte in Übertragungsprotokoll Auswahl:

    @it0101 sagte in Übertragungsprotokoll Auswahl:

    Ja also so extrem sind die Unterschiede zwischen Posix und WinSock auch wieder nicht. Ich sag mal so: wenn du dir selbst eine Socketklasse für Linux und Windows bauen wollen würdest, wäre das gut möglich. Die Funktionen sind aber beiden ungefähr die gleichen.

    Nur ist die reduzierung auf berkeley sockets nicht ratsam auf beiden Platformen. IOCP auf Windows ist ein wichtiger Mechanismus, wenn man es "richtig machen will".
    Und auf linux epoll.

    Ich denke am Anfang will man es überhaupt erstmal machen. In der Hinsicht sind Sockets vergleichbar mit Sex. Die High-Performance-Lösungen kommen dann später :face_with_stuck-out_tongue:



  • @it0101 sagte in Übertragungsprotokoll Auswahl:

    @swordfish sagte in Übertragungsprotokoll Auswahl:

    @It0101 Posex macht mehr Spaß ....

    Gebe ich dir recht. Irgendwie liegt mir das auch mehr, aber in aller Regel ist das Betriebssystem vorgegeben und man hat nicht unbedingt die freie Wahl 😉

    *roflmao*



  • Eine Sache ist mir noch aufgefallen. Wenn der Server den private Key läd, so gibt es bei Boost die Möglichkeit diesen mit einem Passwort zu verschlüsseln.
    Es geht um die get_password() Methode. (Hier nochmal der Link: https://www.boost.org/doc/libs/1_67_0/doc/html/boost_asio/example/cpp03/ssl/server.cpp). Ich hätte für das Passwort jetzt eine Zufallszahl mit SHA-512 gehasht. Jedoch bin ich mir nicht sicher ob das schlau ist. Ihr habt mir hier in dem Thread ja schon einmal gezeigt, wie unsicher manches sein kann, was ich als sicher eingeschätzt hätte :smiling_face_with_open_mouth_cold_sweat:


Anmelden zum Antworten