Skip to content

jlmartinnc/tntnet

 
 

Repository files navigation

Tntnet

Tntnet is a web application server for web applications written in C++.

You can write a Web-page with HTML and with special tags you embed C++-code into the page for active contents. These pages, called components are compiled into C++-classes with the ecpp-compilier "ecppc", then compiled into objectcode and linked into a process or shared library.

This shared library is loaded by the webserver "tntnet" on request and executed.

The ecpp-compiler can create also C++-classes from static files of any type, e.g. you can compile a jpeg-image into the library. So the whole webapplication is a single library.

The application runs native, so they are very fast and compact.

Features supported include: cookies, HTTP-upload, automatic request-parameter parsing and conversion, automatic sessionmanagement, scoped variables (application, request and session), internationalisation, keep-alive.

Logging is done through cxxtools.

Tntnet is fully multithreaded, so it scales well on multiprocessor machines. It uses a dynamic pool of workerthreads, which answers requests from http-clients.

Installation

To install tntnet, you need cxxtools (http://www.tntnet.org/).

You can find generic installation instructions in the file INSTALL.

Quick start

To create a simple application run "tntnet-project hello". This creates a directory "hello" with a simple project and prints a short message, how to run the application.

There are some demo-applications you can try in demos. To run the demos without installing tntnet, change to the directory of the demo and run tntnet from the directory framework/runtime: cd hello ../../framework/runtime/tntnet

Tntnet listens on port 8000. Start your browser and navigate to: http://localhost:8000/

Documentation is provided in man pages and some documents found in the doc directory.

Ssl

Tntnet supports ssl. It must be configured in tntnet.xml or using the api. For ssl a certificate is needed. To create a self signed certificate run:

openssl req -x509 -nodes -days 1095 -utf8 -subj "/C=DE/L=Your Town/CN=$(hostname -f)/O=Your Organization/OU=Your unit" -newkey rsa:2048 -keyout tntnet.pem -out tntnet.pem

Client side certificates can be used to restrict access to tntnet.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 69.6%
  • JavaScript 10.3%
  • C 10.0%
  • M4 6.0%
  • Makefile 1.6%
  • CSS 1.1%
  • Other 1.4%