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
- something - probably language agnostic - to get me up to speed on sockets programming
- conformation that I can just use a stream and write/read to define my own protocol (over TCP/IP) which will be very simple
- 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)
- 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
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.
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.