views:

1238

answers:

3

Before you jump to TCP/IP Illustrated or UNIX Network Programming, let point out that I am looking for a great book or two that are going to help me on Windows XP and Vista.

I'm a C++ developer creating end-user applications (not a device driver writer or hardware guy) and I want to make use of the networking API's to get applications to talk to each other, make use of the Internet, and the closest thing that I want to do in terms of nuts and bolts might be that I want to do some packet filtering in an app that I'm writing. I'm aware of the Packet Filtering API (PfCreateInterface, et al) prior to Vista, and that the Windows Filtering Platform (WFP exists in Vista and beyond).

So something tailored to Windows XP/Vista would be ideal.

Perhaps the TCP/IP Illustrated volumes may be of help to me to understand the "under the hood stuff", but I'm having a hard time finding a well reviewed book on the application level development stuff that I want to do in VC++ in XP and Vista (and Windows Server 2003, 2008).

+1  A: 

Not specific to Windows, but Effective TCP/IP Programming is a great book for learning about how all this networking stuff works.

Doug T.
+3  A: 

There is Network Programming for Microsoft Windows, Second Edition you can have a look at.

KTC
Seemed to have some mixed reviews, not to mention it's 7 years old. From experienced network programming people who are reading this, does a 7 year old book make much of a difference? Is it pretty much the same in Vista/Server 2008? Or should I be seeking out some newer book on the subject?
MarkS
It's not a 'for dummies' book and it's a complex subject. I haven't found a book that covers the essentials and advanced concepts in more detail. Most of the core information is still correct but it's always worth checking the latest docs for the functions you're using. Still the best book IMHO.
Len Holgate
+1  A: 

As mentioned by KTC, Network Programming for Microsoft Windows is THE book (it's not a simple subject, the book can be a bit dense and it's not a hand holding 'for dummies' book, but I've yet to find a better book on the subject).

However you might then want to take a look at some code that implements these concepts; especially if you're using IO Completion Ports and the more complex async options available. I've got some free C++ IOCP code available for download here which includes several different styles of example server and which may help you get a grasp of how efficient async socket IO works on Vista and Server 2008.

Len Holgate