Chapter 35 Further Reading

Official Documentation

  • Free Pascal ssockets Unit — Documentation for TCP/UDP socket classes.
  • https://www.freepascal.org/docs-html/fcl/ssockets/index.html

  • Free Pascal fphttpclient Unit — Documentation for the HTTP client class.

  • https://www.freepascal.org/docs-html/fcl/fphttpclient/index.html

  • Lazarus Wiki: Networking — Community guides for socket programming, HTTP clients, and FTP in Free Pascal.

  • https://wiki.lazarus-ide.org/Networking

Specifications

  • RFC 9110: HTTP Semantics — The modern HTTP specification covering methods, status codes, headers, and content negotiation.
  • https://www.rfc-editor.org/rfc/rfc9110

  • RFC 6455: The WebSocket Protocol — The WebSocket specification for persistent, full-duplex communication.

  • https://www.rfc-editor.org/rfc/rfc6455

Books

  • Stevens, W.R. (2003). UNIX Network Programming, Volume 1: The Sockets Networking API (3rd ed.). The definitive reference on socket programming. Written for C, but the concepts apply directly to Pascal's socket wrappers.

  • Fielding, R.T. (2000). "Architectural Styles and the Design of Network-based Software Architectures." Roy Fielding's doctoral dissertation that defined REST. Dense but foundational.

  • https://www.ics.uci.edu/~fielding/pubs/dissertation/top.htm

Third-Party Libraries

  • Synapse — A popular Free Pascal networking library providing higher-level socket abstractions, SSL support, HTTP client/server, SMTP, POP3, and more.
  • http://www.ararat.cz/synapse/

  • lNet — Lightweight networking library for Free Pascal with event-driven (non-blocking) I/O.

  • https://github.com/almindor/lnet

  • mORMot — A comprehensive framework for Free Pascal/Delphi including REST server, ORM, and WebSocket support.

  • https://github.com/synopse/mORMot2

Connecting to Other Languages

Concept Pascal Python Node.js Go
TCP Socket ssockets / TInetSocket socket module net module net package
HTTP Client fphttpclient requests / urllib fetch / axios net/http
HTTP Server Custom (MicroServe) http.server / Flask Express.js net/http
JSON fpjson json module Built-in encoding/json
WebSocket Third-party (Synapse) websockets ws package gorilla/websocket

The socket APIs across all languages are remarkably similar because they all wrap the same underlying POSIX/BSD socket interface.