All Projects → jacob3141 → Qtwebserver

jacob3141 / Qtwebserver

Licence: agpl-3.0
Qt based web application server

Projects that are alternatives of or similar to Qtwebserver

Libonnx
A lightweight, portable pure C99 onnx inference engine for embedded devices with hardware acceleration support.
Stars: ✭ 217 (+287.5%)
Mutual labels:  lightweight, embedded
picamera-motion
Raspberry Pi python PiCamera Lightweight Motion Detection. Includes easy curl script install/upgrade, whiptail admin menu system, single file web server and Rclone for uploading to a variety of web storage services.
Stars: ✭ 80 (+42.86%)
Mutual labels:  lightweight, webserver
khudro
Khudro is a very light weight web-server built with C.
Stars: ✭ 19 (-66.07%)
Mutual labels:  lightweight, webserver
Webfsd
A simple HTTP server for mostly static content written in C
Stars: ✭ 50 (-10.71%)
Mutual labels:  embedded, webserver
Embassy
Super lightweight async HTTP server library in pure Swift runs in iOS / MacOS / Linux
Stars: ✭ 440 (+685.71%)
Mutual labels:  lightweight, webserver
Lwmem
Lightweight dynamic memory manager library for embedded systems with memory constraints. It implements malloc, calloc, realloc and free functions
Stars: ✭ 92 (+64.29%)
Mutual labels:  lightweight, embedded
sabotage
a radical and experimental distribution based on musl libc and busybox
Stars: ✭ 502 (+796.43%)
Mutual labels:  lightweight, embedded
lwjson
Lightweight JSON parser for embedded systems
Stars: ✭ 66 (+17.86%)
Mutual labels:  lightweight, embedded
Flashdb
An ultra-lightweight database that supports key-value and time series data | 一款支持 KV 数据和时序数据的超轻量级数据库
Stars: ✭ 378 (+575%)
Mutual labels:  lightweight, embedded
Fbg
Lightweight C 2D graphics API agnostic library with parallelism support
Stars: ✭ 349 (+523.21%)
Mutual labels:  lightweight, embedded
Proxy.py
⚡⚡⚡Fast, Lightweight, Pluggable, TLS interception capable proxy server focused on Network monitoring, controls & Application development, testing, debugging
Stars: ✭ 1,291 (+2205.36%)
Mutual labels:  lightweight, webserver
Katwebx
An extremely fast static web server and reverse proxy for the modern web.
Stars: ✭ 39 (-30.36%)
Mutual labels:  lightweight, webserver
Embedded Ide
IDE for C embedded development centered on bare-metal ARM systems
Stars: ✭ 127 (+126.79%)
Mutual labels:  embedded, qt
Szl
A lightweight, embeddable scripting language
Stars: ✭ 134 (+139.29%)
Mutual labels:  lightweight, embedded
Serial Studio
Multi-purpose serial data visualization & processing program
Stars: ✭ 1,168 (+1985.71%)
Mutual labels:  embedded, qt
Cppwebframework
​The C++ Web Framework (CWF) is a MVC web framework, Open Source, under MIT License, using C++ with Qt to be used in the development of web applications.
Stars: ✭ 348 (+521.43%)
Mutual labels:  qt, webserver
Qview
Practical and minimal image viewer
Stars: ✭ 460 (+721.43%)
Mutual labels:  lightweight, qt
Embedio
A tiny, cross-platform, module based web server for .NET
Stars: ✭ 1,007 (+1698.21%)
Mutual labels:  embedded, webserver
Bleeper
Library to manage your firmware configurations written in C++
Stars: ✭ 54 (-3.57%)
Mutual labels:  webserver
Fqterm
Stars: ✭ 50 (-10.71%)
Mutual labels:  qt

paypal

QtWebServer

QtWebServer is an attempt to create a high-performance Qt based web application server, ie. a web server that runs native C++/Qt code in order to deliver websites.

A perfect use-case would be providing a REST API for smaller services.

Concept

Within the Qt app, you set up resources and bind them to physical providers, for example files or a database content. A web application object holds information on how to match uri patterns to resources, which again is accessed by a multithreaded tcp server component. The multithreaded server is an extension of Qt's QTcpServer class.

Installation and usage

#include <QCoreApplication>
#include <QFile>

#include "tcp/tcpmultithreadedserver.h"
#include "http/httpwebengine.h"
#include "http/httpiodeviceresource.h"

using namespace QtWebServer;

int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);

    Tcp::MultithreadedServer s;
    Http::WebEngine w;

    w.addResource(new Http::IODeviceResource(
                      "/test",
                      new QFile("/home/jacob/text.html")));

    s.setResponder(&w);
    s.listen(QHostAddress::Any, 3000);
    return a.exec();
}

You can either integrate QtWebServer into your existing application or build a whole standalone web application. There is no distinction between the webserver and the web application, you literally link your web application with your website.

Installation via qt-pods is perfectly suited for this use-case. You can update your QtWebServer version at any time and switch back flawlessly, since it will be embedded as a git submodule. It is not recommended to plain copy the QtWebServer code into your target application. In order to learn more about qt-pods, see here:

https://github.com/cybercatalyst/qt-pods

License

Licensed under GNU AGPLv3. Available under a commercial license, too.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].