Good books, etc. have already been recommended, if you really want to get into socket programming. (And I do think it is useful to learn about sockets and socket programming even if you don't end up working at that level).
That said, I think the number of people working at the "socket" layer and writing socket layer applications is (thankfully) getting smaller and smaller as better solutions at higher layers are available.
Think seriously about your application, and your protocol and what is the appropriate approach to it. CPAN is full of great higher level protocols where someone has already written the socket code for you in a module you can just use. Even if you have to invent a whole new protocol, it is often feasible to ride on top of something like HTTP that has solved many of the hard problems for you.