This directory contains some demonstrations for cxxtools.

The examples are as minimal as possible to demonstrate simple usage-patterns.

arg
===
Demonstration of template cxxtools::Arg

getini
======
Read value from ini-file.

Try "./getini test.ini sec1 value"

hdstream
========
Just a little hexdumper. To print a hexdump of a file use "./hexdump filename"

md5sum
======
Calculate md5sum of files. Try "./md5sum file1 file2"

multifstream
============
Concatenate multipe files to stdout. Try "./multiifstream file1 file2".

cgi
===
Cgi-program. Copy binary to a webserver into the directory cgi-bin and try it.

With "cgi -t" it just prints a html-file to stdout.

log
===
Demonstration of cxxtools-meta-logging-library.

It uses a configurationfile to determine the amount of logging. The name
of this file depends on the library, you configure cxxtools for.

dir
===
Print contents of a directory. Try "./dir .".

pipestream
==========
This demo shows, how to create a child-process, use a pipe to signal
from child to parent and another pipe to send a datastream.

pool
====
Demonstration of template pool. Example connectionpool. Useful for
multithreaded applications.

dlloader
========
Load shared library and call a function. Useful to create plugins in your
applications.

netcat/netecho
==============
Demonstration of a simple network-server and -client.

Netcat listens to a port (default 1234) and prints all input to stdout.

Netecho connects to netcat and copies stdin to netcat.

To try out enter "./netcat" in one terminal and then "./netcat <netcat.cpp"
in another. Netcat prints the sourcecode of netcat.cpp. If netcat runs
on another machine, you need to tell netcat the ip-address of the netcat-server
with "./netcat -i host".

netio
=====
Network-performance tool.

Netio has 2 modes: server and client. To enable server-mode start with option
-s. It waits for a incoming connection on port 1234 (adjustable with -p).

In client-mode you need to give netio the ip-address (or hostname) of the
server with -i. The clients sends random data with different package-sizes to
the server and computes the network-througput. It starts with 256 bytes and
doubles until 64k. Each package-size is sent for 1 second (adjustable with -t).
With -B you can specify a single fixed block-size.

