9. Boost-Asio-Tutorial – macht die Dinge einfacher

In der vorherigen Lektion haben wir einen sehr einfachen Chat-Server überprüft. Obwohl 160 Codezeilen ein recht kleines Programm sind, erfordert die Erstellung desselben Servers in einer höheren Programmiersprache wie Python oder Erlang viel weniger Code.

„Aber C++ ist nicht Python oder Erlang. Ist es nicht eine Low-Level-Programmiersprache?“ – fragen Sie sich vielleicht. Nun, die Antwort ist ja und nein. C++ ist ein Bereich, in dem so viel Ihnen überlassen ist und von Ihnen abhängt. Zu viel Freiheit bedeutet zu viel Verantwortung.

Ja, Sie können relativ einfachen Code schreiben, der sich mit Rohspeicher und Rohzeigern befasst. Möglicherweise müssen Sie die Bytereihenfolge berücksichtigen. Ihr Code kann nicht behebbare Fehler erzeugen, die Ihre Anwendung zum Absturz bringen, und andere Dinge, mit denen Sie in Python nie konfrontiert werden, es sei denn, Sie möchten. Sie können Code jedoch auch in Schichten schreiben, sodass jede Schicht eine sehr enge Reihe von Verantwortlichkeiten hat, die sich auf ihre eigene Abstraktionsebene beziehen, und die oberste Ebene des Codes eine so hohe Ebene wie Python oder Erlang sein kann.

C++ ist also eine Programmiersprache, in der Sie Ihren Code auf engstem Stack implementieren sollten, und Sie sollten dies sehr sorgfältig tun.

Boost.Asio ist eine Bibliothek, die Low-Level-Funktionalität bietet. In Ihren großen Anwendungen in Produktionsqualität sollten Sie Boost.Asio-Funktionen nicht direkt verwenden, ebenso wenig wie Sie „fopen“ oder Mutexe verwenden sollten. Boost.Beast ist eine Bibliothek, die HTTP- und WebSockets-Funktionalität bereitstellt, die auf Boost.Asio aufbaut und eine Abstraktionsebene von +1 bietet. Allerdings ist dieser Wert selbst bei Anwendungen in Produktionsqualität zu niedrig, um direkt verwendet zu werden. Laut Vinnie Falco, dem Autor von Boost.Beast, handelt es sich bei der Bibliothek nicht um einen gebrauchsfertigen Server oder Client. Dabei handelt es sich um eine Reihe von Tools, die Sie zum Erstellen Ihrer eigenen Bibliothek verwenden sollten. Stattdessen sollten Sie Ihre Anwendung auf Bibliotheken aufbauen, die auf Boost.Beast basieren, das wiederum auf Boost.Asio aufbaut. So machen Sie Dinge in C++.

Daher in der Anwendungsentwicklung

Supongo que te gusta

Origin blog.csdn.net/Knowledgebase/article/details/132861466
Recomendado
Clasificación