Beej's Guide to Network Programming
About 2 min
Beej's Guide to Network Programming ๊ด๋ จ
- 01. Intro
- 01A. Audience
- 01B. Platform and Compiler
- 01C. Official Homepage and Books For Sale
- 01D. Note for Solaris/SunOS Programmers
- 01E. Note for Windows Programmers
- 01F. Email Policy
- 01G. Mirroring
- 01H. Note for Translators
- 01I. Copyright, Distribution, and Legal
- 01J. Dedication
- 01K. Publishing Information
- What is a socket?
- 02A. Two Types of Internet Sockets
- 02B. Low level Nonsense and Network Theory
- IP Addresses,
structs, and Data Munging
- 3.1 IP Addresses, versions 4 and 6
- 3.1.1 Subnets
- 3.1.2 Port Numbers
- 3.2 Byte Order
- 3.3
structs - 3.4 IP Addresses, Part Deux
- 3.4.1 Private (Or Disconnected) Networks
- IP Addresses,
- Jumping from IPv4 to IPv6
- System Calls or Bust
- 05A.
getaddrinfo()โPrepare to launch! - 05B.
socket()โGet the File Descriptor! - 05C.
bind()โWhat port am I on? - 05D.
connect()โHey, you! - 05E.
listen()โWill somebody please call me? - 05F.
accept()โโThank you for calling port 3490.โ - 05G.
send()andrecv()โTalk to me, baby! - 05H.
sendto()andrecvfrom()โTalk to me, DGRAM-style - 05I.
close()andshutdown()โGet outta my face! - 05J.
getpeername()โWho are you? - 05K.
gethostname()โWho am I?
- Client-Server Background
- 6.1 A Simple Stream Server
- 6.2 A Simple Stream Client
- 6.3 Datagram Sockets
- Slightly Advanced Techniques
- 07A. Blocking
- 07B.
poll()โSynchronous I/O Multiplexing - 07C.
select()โSynchronous I/O Multiplexing, Old School - 07D. Handling Partial
send()s - 07E. SerializationโHow to Pack Data
- 07F. Son of Data Encapsulation
- 07G. Broadcast PacketsโHello, World!
- Common Questions
- Man Pages
- 09A.
accept() - 09B.
bind() - 09C.
connect() - 09D.
close() - 09E.
getaddrinfo(),freeaddrinfo(),gai_strerror() - 09F.
gethostname() - 09G.
gethostbyname(),gethostbyaddr() - 09H.
getnameinfo() - 09I.
getpeername() - 09J.
errno - 09K.
fcntl() - 09L.
htons(),htonl(),ntohs(),ntohl() - 09M.
inet_ntoa(),inet_aton(),inet_addr - 09N.
inet_ntop(),inet_pton() - 09O.
listen() - 09P.
perror(),strerror() - 09Q.
poll() - 09R.
recv(),recvfrom() - 09S.
select() - 09T.
setsockopt(),getsockopt() - 09U.
send(),sendto() - 09V.
shutdown() - 09W.
socket() - 09X.
struct sockaddrand pals
- More References
- 10A. Books
- 10B. Web References
- 10C. RFCs