Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/haxpor/unp

Unix Network Programming learning repository following along from Unix Network Programming Volume 1, 3rd Edition try to use as much as possible C++11 features and as necessary, cmake, modified and improvements on top (**wip)
https://github.com/haxpor/unp

cplusplus cplusplus-11 linux network-programming networking unix

Last synced: 5 days ago
JSON representation

Unix Network Programming learning repository following along from Unix Network Programming Volume 1, 3rd Edition try to use as much as possible C++11 features and as necessary, cmake, modified and improvements on top (**wip)

Awesome Lists containing this project

README

        

# unp
Unix Network Programming learning repository following along from Unix Network Programming Volume 1, 3rd Edition but with reasonable best effort migration to C++11, cmake, modified and improvements on top

# System

The system used to work and run this project is Ubuntu 18.04 64-bit 4.18.0-21.

It is not tested on other platforms, but technically should be portable.

# Build

* create a new directory `build`
* `cmake ..`
* `make -j4`

It will build all sample programs in each chapters as executable file. The common code is produced as static library.

# Pattern

## Source File Name
File name of the source code for each program as seen in the text book will be named starting with upper case in this project, along with upper case for each word in PaslCal case.

`daytimetcpcli.c` will become `DaytimeTCPCli.cpp`.

Such source file will be put into the corresponding directory of chapter number. So it will be saved as `chapter_1/DaytimeTCPCli.cpp`.

## Executable File Name

Executable file will be named like follows

`chapter_1/DaytimeTCPCli.cpp` will become `ch1_daytimetcpcli`.

# The Book
Unix Network Programming Volume 1 (3rd Edition)
by W.Richard Stevens, Bill Fenner, and Andrew M.Rudoff.

I got the copy of such book around 12-15 years ago, but fortunately I still keep it safe until today (year 2019).
Since then, I never finish the entire book, probably just a chapter or two then never get back there again.

Now it's time to actually make use of it (firstly aim to reach chater 11).

# License
This project is licensed under [MIT](https://github.com/haxpor/unp/blob/master/LICENSE).