Developing for the Internet with Winsock


Table of Contents

  1. Introduction
  2. Internet History
  3. Internet Internals
  4. Socket Overview
  5. The Windows Sockets API
  6. C++ Winsock Classes
  7. A First Winsock Programming Project
  8. Internet Message Format: RFC 822
  9. Sending Mail: SMTP
  10. Retrieving Mail: POP
  11. Encoding Binary Data: UUENCODE
  12. Mail Extensions: MIME
  13. Network News Transport Protocol: NNTP
  14. File Transfer Protocol: FTP

Detailed Table of Contents

  1. Introduction
    • Eureka!
    • What's in It for You?
    • A Look Ahead
    • Chapter by Chapter
    • The Code
    • The Sample Applications
    • Setting Up a Development Environment
    • The Companion CD-ROM
    • Things Unsaid
    • Contacting Me
    • #include <disclaimer.h>
    • Thanks!
  2. Internet History
    • In the Beginning
    • ARPANET
    • The Internet
    • Here and Now
  3. Internet Internals
    • OSI 7-Layer Reference Model
    • TCP/IP and the OSI Reference Model
    • Internet RFCs
    • IP: The Internet Protocol
    • TCP and UDP: Streams vs. Datagrams
    • Domain Names
  4. Socket Overview
    • The Origin of Sockets
    • Socket Concepts
    • Socket Programming
    • Database Functions
    • Winsock Extensions
  5. The Windows Sockets API
    • Winsock Programming Overview
    • Conversion Functions
    • Database Functions
    • Socket Functions
    • Winsock Extension Functions
    • Winsock Errors
  6. C++ Winsock Classes
    • Synchronous Winsock
    • Asynchronous Winsock: The Good, The Bad, and The Ugly
    • Window Message Processing
    • Better Window Message Processing
    • Programming Winsock with C++
    • Object-based Message Dispatch
    • Starting Up and Shutting Down
    • Internet Addresses
    • Dealing with Databases
    • Streaming Sockets
    • Miscellaneous Functions
    • Summary
  7. A First Winsock Programming Project
    • The Finger Protocol
    • The Finger Program
    • Project Overview
    • Starting Up Winsock
    • Starting Finger
    • Implementing Finger: CFingerObj
    • State Machine Description
    • Summary
    • Listings
  8. Internet Message Format: RFC 822
    • Basic Message Structure
    • Message Headers
    • Common Headers
    • Address Format
    • What's Next
  9. Sending Mail: SMTP
    • SMTP Model
    • SMTP
    • SMTP Object: CSMTP
    • SMTP State Machine
    • Mail Client
    • The Mail Client Project
    • Listings
  10. Retrieving Mail: POP
    • Post Office Protocol
    • The CPOP3 Class
    • CPOP3 State Machine
    • Additions to Mail Client
    • Listings
  11. Encoding Binary Data: UUENCODE
    • The UUENCODE Format
    • Using UUENCODE with Mail Client
    • Listings
  12. Mail Extensions: MIME
    • Developing MIME
    • MIME Services
    • Basic Message Structure
    • Multipart Message Structure
    • Adding MIME Support to Mail Client
    • Listings
  13. Network News Transport Protocol: NNTP
    • Network News
    • NNTP
    • Sample NNTP Session
    • An NNTP Class: CNNTP
    • CNNTP State Machine
    • News Client Project
    • Configuration
    • Selecting a Group
    • Retrieving Headers
    • Retrieving Articles
    • Listings
  14. File Transfer Protocol: FTP
    • The FTP Challenge
    • FTP Model
    • The Control Connection
    • Data Transfer
    • Managing the Data Connection
    • A Sample FTP Session
    • Sample FTP Client: WS_FTP
    • Listings