Basically, "sockets" are a programming abstraction for "doing network stuff". There are other (both higher and lower level) programming interfaces for network communications, but sockets is arguably one of the most well-known and prevalent.
Probably the best single book on the subject is "Unix Network Programming", by W. Richard Stevens. I'd strongly urge you to get a copy - it's definitely a wise investment.
But first, you might want to experiment with a simple tutorial off the web. For example:
'Hope that helps .. PSM