├── .gitignore ├── 01block ├── CMakeLists.txt ├── README.md └── main.c ├── 02block-multithread ├── CMakeLists.txt ├── README.md ├── client.c └── main.c ├── 03nonblock-multithread ├── CMakeLists.txt ├── README.md ├── client.c └── main.c ├── 04select ├── 01simple-select │ ├── CMakeLists.txt │ ├── README.md │ └── main.c ├── 02simple-server │ ├── CMakeLists.txt │ └── main.cpp └── 03select-server │ ├── CMakeLists.txt │ ├── README.md │ ├── client.cpp │ └── main.cpp ├── 05poll ├── CMakeLists.txt ├── README.md ├── client.c └── main.c ├── 06epoll ├── CMakeLists.txt ├── README.md ├── client.c └── server.c ├── README.md └── pics ├── 01block.png ├── nonblock-multi.png ├── procstate.png └── select.png /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chenchienkuo9010/io-practice/HEAD/.gitignore -------------------------------------------------------------------------------- /01block/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chenchienkuo9010/io-practice/HEAD/01block/CMakeLists.txt -------------------------------------------------------------------------------- /01block/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chenchienkuo9010/io-practice/HEAD/01block/README.md -------------------------------------------------------------------------------- /01block/main.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chenchienkuo9010/io-practice/HEAD/01block/main.c -------------------------------------------------------------------------------- /02block-multithread/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chenchienkuo9010/io-practice/HEAD/02block-multithread/CMakeLists.txt -------------------------------------------------------------------------------- /02block-multithread/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chenchienkuo9010/io-practice/HEAD/02block-multithread/README.md -------------------------------------------------------------------------------- /02block-multithread/client.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chenchienkuo9010/io-practice/HEAD/02block-multithread/client.c -------------------------------------------------------------------------------- /02block-multithread/main.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chenchienkuo9010/io-practice/HEAD/02block-multithread/main.c -------------------------------------------------------------------------------- /03nonblock-multithread/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chenchienkuo9010/io-practice/HEAD/03nonblock-multithread/CMakeLists.txt -------------------------------------------------------------------------------- /03nonblock-multithread/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chenchienkuo9010/io-practice/HEAD/03nonblock-multithread/README.md -------------------------------------------------------------------------------- /03nonblock-multithread/client.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chenchienkuo9010/io-practice/HEAD/03nonblock-multithread/client.c -------------------------------------------------------------------------------- /03nonblock-multithread/main.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chenchienkuo9010/io-practice/HEAD/03nonblock-multithread/main.c -------------------------------------------------------------------------------- /04select/01simple-select/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chenchienkuo9010/io-practice/HEAD/04select/01simple-select/CMakeLists.txt -------------------------------------------------------------------------------- /04select/01simple-select/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chenchienkuo9010/io-practice/HEAD/04select/01simple-select/README.md -------------------------------------------------------------------------------- /04select/01simple-select/main.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chenchienkuo9010/io-practice/HEAD/04select/01simple-select/main.c -------------------------------------------------------------------------------- /04select/02simple-server/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chenchienkuo9010/io-practice/HEAD/04select/02simple-server/CMakeLists.txt -------------------------------------------------------------------------------- /04select/02simple-server/main.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chenchienkuo9010/io-practice/HEAD/04select/02simple-server/main.cpp -------------------------------------------------------------------------------- /04select/03select-server/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chenchienkuo9010/io-practice/HEAD/04select/03select-server/CMakeLists.txt -------------------------------------------------------------------------------- /04select/03select-server/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chenchienkuo9010/io-practice/HEAD/04select/03select-server/README.md -------------------------------------------------------------------------------- /04select/03select-server/client.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chenchienkuo9010/io-practice/HEAD/04select/03select-server/client.cpp -------------------------------------------------------------------------------- /04select/03select-server/main.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chenchienkuo9010/io-practice/HEAD/04select/03select-server/main.cpp -------------------------------------------------------------------------------- /05poll/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chenchienkuo9010/io-practice/HEAD/05poll/CMakeLists.txt -------------------------------------------------------------------------------- /05poll/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chenchienkuo9010/io-practice/HEAD/05poll/README.md -------------------------------------------------------------------------------- /05poll/client.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chenchienkuo9010/io-practice/HEAD/05poll/client.c -------------------------------------------------------------------------------- /05poll/main.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chenchienkuo9010/io-practice/HEAD/05poll/main.c -------------------------------------------------------------------------------- /06epoll/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chenchienkuo9010/io-practice/HEAD/06epoll/CMakeLists.txt -------------------------------------------------------------------------------- /06epoll/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chenchienkuo9010/io-practice/HEAD/06epoll/README.md -------------------------------------------------------------------------------- /06epoll/client.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chenchienkuo9010/io-practice/HEAD/06epoll/client.c -------------------------------------------------------------------------------- /06epoll/server.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chenchienkuo9010/io-practice/HEAD/06epoll/server.c -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chenchienkuo9010/io-practice/HEAD/README.md -------------------------------------------------------------------------------- /pics/01block.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chenchienkuo9010/io-practice/HEAD/pics/01block.png -------------------------------------------------------------------------------- /pics/nonblock-multi.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chenchienkuo9010/io-practice/HEAD/pics/nonblock-multi.png -------------------------------------------------------------------------------- /pics/procstate.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chenchienkuo9010/io-practice/HEAD/pics/procstate.png -------------------------------------------------------------------------------- /pics/select.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chenchienkuo9010/io-practice/HEAD/pics/select.png --------------------------------------------------------------------------------