Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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

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

like image 430
Mawg says reinstate Monica Avatar asked Nov 14 '11 13:11

Mawg says reinstate Monica


People also ask

Where can I learn socket programming?

Learn Socket Programming in C from Scratch | Udemy.

Is socket programming a TCP?

A socket programming interface provides the routines required for interprocess communication between applications, either on the local system or spread in a distributed, TCP/IP based network environment. Once a peer-to-peer connection is established, a socket descriptor is used to uniquely identify the connection.

Is network programming and socket programming same?

Yeah, it's true that network programming requires networking technology while on the other hand socket programming is a subset of network programming. Most current network programming is done either using sockets directly, or using various other layers on top of sockets.


1 Answers

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.

like image 126
Nikolai Fetissov Avatar answered Sep 30 '22 15:09

Nikolai Fetissov