Share the network disk download: https://pan.baidu.com/s/1gfNCcXt Password: IRFK
Content Introduction
This course from the most basic process, threading concept of gradual deepening, through the combination of theory and practice, so that students quickly grasp the Linux multithreaded Network programming technology, and understand the implementation of the principle behind the technology. The course details the data structures involved in network programming, network protocols, programming interfaces, g++, GDB, makefile programming tools, and Netstat, lsof and other related performance debugging commands. The development process, architecture design, operation principle, performance tuning and asynchronous I/O model, thread pool, multithreading concurrency control and inter-thread communication are analyzed in detail by examples.
The course is divided into four parts:
The first part is the basic theory of Linux network programming, this part of the Linux multi-threaded network programming to use the fundamental theoretical knowledge;
The second part is the basic network programming, introduces the basic tools of Linux programming, mainly introduces TCP socket programming and UDP socket programming;
The third part is the advanced network programming, mainly introduces the socket option, various IO models and the thread pool technology used by the concurrent server;
The fourth part is the project case and explains the implementation of FTP concurrent server program.
The first part: The Theoretical foundation of network programming
First: the introduction and definition of process
Second Lecture: The characteristics and state of the process
Third Lecture: Scheduling of processes
Introduction and definition of threading
Lecture Five: Classification of threads
VI: Mutual exclusion of threads
Seventh: Synchronization of Threads
Eighth: Thread synchronization and mutex case analysis (1)
Nineth: Thread synchronization and mutex case analysis (2)
Tenth: Multithreaded programming: Linux Line Libraries Introduction
11th: Multithreaded programming: Linux Line Libraries function (1)
12th: Multithreaded programming: Linux Line Libraries function (2)
13th: Multithreading: Linux Line Libraries function (3)
14th: Multithreaded Programming: Linux Line Libraries function (4)
15th: Common Data Structures: Introduction
16th: Common data Structures: basic structure (1)
17th: Common data Structures: basic structure (2)
18th: Common Data Structures: STL Introduction (1)
19th: Common Data Structures: STL Introduction (2)
20th: OSI network model and TCP/IP model
21st: TCP protocol and UDP protocol
Part II: Basic Network programming:
22nd: Linux Common commands (1)
23rd: Linux Common commands (2)
24th Lecture: Introduction to VIM usage (1)
25th Lecture: Introduction to VIM usage (2)
26th: g++ and Makefile Usage introduction (1)
27th: g++ and Makefile Usage introduction (2)
28th: g++ and Makefile Usage introduction (3)
29th: Socket Network Programming Introduction (1)
30th: Socket Network Programming Introduction (2)
31st: TCP Sockets basic network Programming (1)
32nd: TCP Sockets basic Network Programming (2)
33rd: TCP Sockets basic Network Programming (3)
34th: TCP Sockets basic Network Programming (4)
35th: TCP Sockets basic Network Programming (5)
36th: UDP Sockets basic Network programming (1)
37th: UDP sockets basic Network Programming (2)
38th: UDP sockets basic Network Programming (3)
Part III: A preliminary study of advanced network programming
39th Talk: Socket options (1)
40th Talk: Socket Options (2)
41st Talk: Socket Options (3)
42nd Lecture: IO Model (1)
43rd Lecture: IO Model (2)
44th Lecture: IO Model (3)
45th: Linux System log
46th: Thread Pooling Technology (1)
47th: Thread Pooling Technology (2)
48th: Thread Pooling Technology (3)
49th: Thread Pooling Technology (4)
Part IV Project case:
50th Talk: Concurrent Server programming (1)
51st Talk: Concurrent Server Programming (2)
52nd Talk: Concurrent Server Programming (3)
53rd Talk: Concurrent Server Programming (4)
Linux multi-threaded concurrent server programming (thread pool, FTP server)