Socket Programming === ###### tags: `Network` `C` `Linux OS` ## Learning - [Linux网络 - 数据包的接收过程](https://segmentfault.com/a/1190000008836467) - [Linux网络 - 数据包的发送过程](https://segmentfault.com/a/1190000008926093) - [TCP Socket Programming 學習筆記](http://zake7749.github.io/2015/03/17/SocketProgramming/) ## GCC - [Preprocessing, Compilation, Assembly, Linking](https://www.calleerlandsson.com/the-four-stages-of-compiling-a-c-program/) - [gcc -L / -l option flags](https://www.rapidtables.com/code/linux/gcc/gcc-l.html) ## GIT - [Git Submodule](http://josephj.com/entry.php?id=342) ``` git clone git://github.com/schacon/parentproj.git # 更新.git/config git submodule init # 拉取子專案所有內容並更新.git/modules/子專案/的commit ID git submodule update git add 子專案目錄 git commit -m "Update 子專案 commit ID" ``` ## Reference - [select](http://beej-zhtw.netdpi.net/07-advanced-technology/7-2-select) - monitor multiple sockets ready state. - [pthread](https://www.iteye.com/blog/huoyj-1907529) - joinable thread vs. detached thread