Sockets, Shellcode, Porting, and Coding - Syngress
http://www.amazon.com/Sockets-Shellcode-Po...9303&sr=8-3
This book contains programming examples, but they're not required to understand what is going on. I've read this, and found it to be a nice reference book after you've read it.
Reversing: The Secrets of Reverse Engineering - Wiley
http://www.amazon.com/Reversing-Secrets-En...9348&sr=1-1
This is a good book on the theory behind reverse engineering.