Beej's Guide to Network Programming

豆瓣
Beej's Guide to Network Programming

登录后可管理标记收藏。

作者: Brian "Beej Jorgensen" Hall
出版社: Jorgensen Publishing
发行时间: 2011 -10
装订: Paperback
价格: USD 19.99
页数: 142

/ 10

2 个评分

评分人数不足

Using Internet Sockets

Brian "Beej Jorgensen" Hall   

简介

Beej's Guide to Network Programming has been one of the top socket programming guides on the Internet for the last 15 years, and it's now for the first time available as a lovingly bound paperback book! The Guide is designed to irreverently ease your first steps into Internet Sockets programming in C. Starting from the ground up, it provides complete examples of simple clients and servers supporting both IPv6 and IPv4.
Once you get through the tutorial section of the book, Part Two contains a handy-dandy reference section which helps prevent the book from becoming simple dead weight on your shelf once you've devoured it.
The book focuses on the C programming language in Unix-like environments, but Windows users can still glean relevant information from its pages. Also, once you understand socket programming in C, you'll much more easily understand it in many other languages as well.

contents

1. Intro
1.1. Audience
1.2. Platform and Compiler
1.3. Official Homepage and Books For Sale
1.4. Note for Solaris/SunOS Programmers
1.5. Note for Windows Programmers
1.6. Email Policy
1.7. Mirroring
1.8. Note for Translators
1.9. Copyright and Distribution
2. What is a socket?
2.1. Two Types of Internet Sockets
2.2. Low level Nonsense and Network Theory
3. IP Addresses, structs, and Data Munging
3.1. IP Addresses, versions 4 and 6
3.2. Byte Order
3.3. structs
3.4. IP Addresses, Part Deux
4. Jumping from IPv4 to IPv6
5. System Calls or Bust
5.1. getaddrinfo()—Prepare to launch!
5.2. socket()—Get the File Descriptor!
5.3. bind()—What port am I on?
5.4. connect()—Hey, you!
5.5. listen()—Will somebody please call me?
5.6. accept()—"Thank you for calling port 3490."
5.7. send() and recv()—Talk to me, baby!
5.8. sendto() and recvfrom()—Talk to me, DGRAM-style
5.9. close() and shutdown()—Get outta my face!
5.10. getpeername()—Who are you?
5.11. gethostname()—Who am I?
6. Client-Server Background
6.1. A Simple Stream Server
6.2. A Simple Stream Client
6.3. Datagram Sockets
7. Slightly Advanced Techniques
7.1. Blocking
7.2. select()—Synchronous I/O Multiplexing
7.3. Handling Partial send()s
7.4. Serialization—How to Pack Data
7.5. Son of Data Encapsulation
7.6. Broadcast Packets—Hello, World!
8. Common Questions
9. Man Pages
9.1. accept()
9.2. bind()
9.3. connect()
9.4. close()
9.5. getaddrinfo(), freeaddrinfo(), gai_strerror()
9.6. gethostname()
9.7. gethostbyname(), gethostbyaddr()
9.8. getnameinfo()
9.9. getpeername()
9.10. errno
9.11. fcntl()
9.12. htons(), htonl(), ntohs(), ntohl()
9.13. inet_ntoa(), inet_aton(), inet_addr
9.14. inet_ntop(), inet_pton()
9.15. listen()
9.16. perror(), strerror()
9.17. poll()
9.18. recv(), recvfrom()
9.19. select()
9.20. setsockopt(), getsockopt()
9.21. send(), sendto()
9.22. shutdown()
9.23. socket()
9.24. struct sockaddr and pals
10. More References
10.1. Books
10.2. Web References
10.3. RFCs
Index

短评
评论
笔记