Ich arbeite mit libcurl. Es ist sehr gut (als Client) und ich habe einen Socket zu einem Server geöffnet und dann meine http-Pakete gesendet.
Ich frage mich, ob es möglich ist, http-Server mit der libcurl zu entwickeln. Der http-Server wird auf einen bestimmten Port warten, und wenn er ein http-Paket empfängt, gibt der HTTP-Server eine Digest-Authentifizierung zurück.
Ich habe etwas im stackoverflow und in der curl Website recherchiert, aber ohne Ergebnis.
Ist das mit libcurl möglich? und wie es geht?
Um zu wiederholen, was andere gesagt haben: nein, libcurl ist nicht für Server. Es wird sogar in der curl FAQ gesagt:
5.17 Kann ich einen Server mit libcurl schreiben?
Nein. libcurl bietet keine Funktionen oder Bausteine zum Aufbau jeglicher Art des Internetprotokollservers. libcurl ist nur eine clientseitige Bibliothek. Bei Serverbibliotheken müssen Sie Ihre Suche jedoch woanders fortsetzen Es gibt viele gute Open-Source-Lösungen für die meisten Protokolle Sie könnten möglicherweise einen Server für. Und da sind wirklich gute Stand-Alone, die seit vielen Jahren getestet und bewährt sind. Du musst sie nicht neu erfinden!
Sie benötigen eine HTTP Server Bibliothek (da libcurl nur ein HTTP Client Librart ist) würde ich vorschlagen, libonion , aber es gibt mehrere andere HTTP-Server-Frameworks ( libmicrohttpd , POCO und Wt in C ++, .... ).
HTTP ist ein komplexes Protokoll, selbst wenn ein Server für eine kleine Teilmenge codiert wird (wie zum Beispiel einfache GET
-Anfragen, ohne all die nützlichen Funktionen wie bedingte Anfragen, Kodierung und Komprimierung, etc ...) ist es einigermaßen machbar. Daher empfehle ich die Verwendung einer vollwertigen HTTP-Server-Bibliothek, die keine kleine Bibliothek sein kann.