Which book(s) to learn sockets programming and TCP network communication? [closed]
Asked Answered
D

2

40

I will do a few small projects over the next few months and need some books (preferably) or URLs to learn some basic concepts.

In general one PC or embedded device (which varies by project) collects some user input or data from an external hardware device and transmits it to a remote PC which will enter it into a database.

The back-end will be coded in Delphi using Indy socket components. The front-end might be a PC running a Delphi app using the same Indy sockets, but it might equally be a small controller board, probably programmed in C (with neither Windows nor Linux as an o/s, but with some unforeseeable socket support).

So, what I need is

  1. something - probably language agnostic - to get me up to speed on sockets programming
  2. conformation that I can just use a stream and write/read to define my own protocol (over TCP/IP) which will be very simple
  3. some overview of general networking (TCP?) concepts; maybe a little on security, general client/server stuff (for instance, I can send some from clients to the server and send a reply, but am not so sure about server initiated communication to a single server or a broadcast to all clients)
  4. anything else?

Any recommendations to get me up to speed, at least enough for a small project which would allow me to learn on the job.

Thanks in advance

Dessiedessma answered 14/11, 2011 at 13:53 Comment(2)
I would google the basics and then buy a book targeting the platform/language that you are going to use. imho it's a lot easier to understand sockets by getting examples in a language that you know.Montespan
This question was linked on metaTangleberry
T
51

This is the book to learn TCP/IP, doesn't matter what language you will be using:

W. Richard Stevens, TCP/IP Illustrated, Volume 1: The Protocols

The following is the C network programmer's bible, highly recommended:

W. Richard Stevens, Unix Network Programming, Volume 1: The Sockets Networking API

Out of online resources, Beej's Guide to Network Programming tops the list.

Tongue answered 14/11, 2011 at 14:17 Comment(4)
note that this is about protocol internals and doesn't teach you how to use them. He has a brilliant book about C development which is although language specific but teaches you quite a lot of TCP/IP language agnostic details.Extra
Yes, I missed the C part of the question, will update. Thanks.Tongue
+1 (and for @yi_J) and the answer. Thanks. I have ordered it and am waiting eagerly.Dessiedessma
Beej's quide seems like a winner. Compiled all on Linux updated very recently.Molasses
K
10

I would also recommend TCP/IP Tutorial and Technical Overview from IBM (free ebook). It won't tell you a lot about sockets, but it's a great introduction to TCP/IP stack.

Kinsley answered 14/11, 2011 at 20:35 Comment(1)
+1 Thanks. That was useful (and I liked the price)Dessiedessma

© 2022 - 2024 — McMap. All rights reserved.