Part II: The Server Perspective | ||
6: Streaming Server | html-ls-server.c | Creates an HTML page from the directory listing. |
simple-server.c | Simple echo server. | |
7: Multitasking | parent-child.c | Trivial task-creation example. |
echo-process.c echo-thread.c trivial-server.c |
Multitasked echo servers. | |
exec-server.c ls-server.c |
Examples of servers that call exec(). | |
html-ls-server.c http-dir.c serverls.c | >
Various multitasked ls or directory servers. | |
thread-mutex.c | Example showing threads with mutexes. | |
8: IO Control | demand-accept.c | Simple on-demand servlet creator. |
echo-timeout.c | Implementation of a connection timeout. | |
9: Performance Tips | bored-child.c | Example of servlets that terminate if not enough activity. |
capped-servlets.c | Creates servlets up to a spoecified point. Keeps the host from overloading. | |
fair-load.c | Balances the servlet load between tasks and select()s. | |
heartbeat-client.c heartbeat-server.c |
Example of how to manually determine if a server or client drops out. | |
preforking-servlets.c | Creates tasks ahead of time in anticipation of a connection. | |
servlet-chummer.c | An example to solve the dynamic connections and load problem. | |
servlets-ondemand.c | Creates as many servlets as accepted connections. | |
smart-select.c | Combines multitasking with select() system call. | |
test-server.c | General server tester. | |
urgent-receiver.c urgent-sender.c |
Example of send and receiving urgent (out of band) messages. | |
10: Robust Sockets | sigpipe-client.c sigpipe-server.c |
Example of getting and capturing the EPIPE signal. |