課程內容
1. 了解 server/client程式運作與 TCP/IP原理。
2. 能夠以 C語言實作 TCP/UDP/Raw Socket。
3. 能夠以 ioctl/fcntl/setsockop去控制 Socket的行為。
4. 實現 Broadcast,Multicast。
適合具備C語言基礎,想要從事Linux程式或嵌入式應用程式開發者。
1. TCP/IP
▪ Introduction
▪ TCP/IP and OSI maping
2. Socket-What is Socket?
▪ Socket API
▪ Socket programming flows (connection-oriented)
▪ Socket programming flows (connectionless)
▪ Socket address structure
▪ Byte ordering and manipulation
▪ TCP socket API
▪ UDP socket API
3. Raw Socket
▪ Introduction
▪ Create Raw Socket
▪ Raw Socket I/O
4. Socket Option
▪ getsocketopt / setsocketopt
▪ Generic Socket option
▪ fnctl function
▪ ioctl function
▪ File operations
▪ Interface operation
5. Name and Address conversion
▪ Domain Name System
▪ Resolvers and Name server
▪ gethostbyname function
▪ gethostbyaddress function
▪ gethostname function
▪ getservbyname and getservbyport function
6. Daemon Processes
▪ Daemon characteristics
▪ Syslog daemon
▪ xinetd Daemon
7. I/O Multiplexing
▪ Blocking I/O model
▪ Nonblocking I/O model
▪ I/O multiplexing model
▪ Signal driven I/O model
▪ Asynchronous I/O model
▪ Comparison I/O module
▪ Select function
▪ poll function
我想了解更多
8. Broadcasting & Multicasting
▪ Introduction
▪ Broadcast addresses
▪ Multicast addresses