|
|
|
|
|
Eugene's Site |
| FAQ: Resources |
|
|
|
|
|
 |
|
 |
|
Resources |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
 |
This section contains various online and offline resources that are
useful for network programming and programming in general. |
 |
Don't trust Win32 API documentation that came with your compiler (especially if it is something as old as
VC6). Make sure you use one or more of the following
-
MSDN Library Online
- Most updated resource but somewhat slow and the search is awful
(hint: use
Google
to search it instead of its own search)
- Local MSDN Library (available through
MSDN subscription)
- If you are serious about programming
on Windows you must have MSDN
subscription. Make sure your employer
buys it (preferably at least the
Professional edition). The money will be
well spent, believe me. ;-) The
advantage of local library over the
online one is speed, better search,
ability to define your custom filters
and integration with Visual Studio (you
will be able to get immediate help on
any API you are using or compiler error
just by clicking F1)
- Platform SDK
- The SDK contains the most updated
headers and libraries for each Windows
platform. You have to install and use it
instead of the headers and libraries
that came with your compiler to get
access to the most updated
functionality. If you don't have MSDN
(and I urge you to get it ASAP) the SDK
comes with its subset that contains API
documentation. It is free and there is
no reason not to use it. One word of
caution though. If you work in
organization with multiple developers
make sure that everybody uses the same
version of SDK (and the same service
pack of the compiler too). It seems
strange to even mention such basic thing
here but I have seen too many shops
where each developer was using whatever
he wanted and only god knew what went
into the final build.
-
DDK
- The Driver Development Kit is
essentially an SDK for driver
development. However it also
contains headers and libraries that
may be of interest to user-mode
developer especially in areas of
device management and installation.
Once upon a time DDK was freely
available but now you must either
pay for it or get it through MSDN
subscription (one more reason to get it). Note that DDK headers are
generally incompatible with "normal"
SDK ones, because they tend to
define and declare many common types
and macros. There are ways around
this which I may write about some
time.
Back to top
These are good online places
to find information you need
-
Google and
Google Groups
searches
- It may seem trivial but many people don't realize how much
information is just lying there around the
corner. Whenever you have a problem most
likely somebody else already encountered it,
asked on the web and got an answer. The
second link above (to the Google USENET
archive) seems to be especially unknown.
Yet, despite the abundance of forums, blogs
and other fads USENET remains the best
archive of technical information for
programmers. Make sure you use it!
-
Winsock FAQ
- An excellent source of Winsock and network programming information.
-
MVP VC++ FAQ
- An excellent source of VC related information.
-
NDIS FAQ
- Everything you wanted to know about kernel-mode networking
-
Sysinternals
- An amazing collection of utilities (some with source) and information.
Back to top
Below are the list of books I've read and can recommend. I am aware that there are few other
books devoted to sockets or Windows network
programming but I have no information on
their quality.
- Network Programming for Microsoft Windows by Anthony Jones, Jim Ohlund (Amazon,
B&N)
- A very good book that provides good introduction into networking technologies available in Win32.
Note that there is another edition available
that speaks about .NET. Don't confuse
between the two. I have no idea whether .NET
book is any good and don't intend to find
out.
- Programming Server-Side Applications for Microsoft Windows 2000 by Jeffrey Richter, Jason D. Clark
(Amazon,
B&N)
- A great introduction to everything server-side. Don't be mislead by 2000 in the book title.
It applies equally well to XP and Win2k3
(and probably to Longhorn)
- Microsoft Windows Internals, Fourth Edition: Microsoft Windows Server(TM) 2003, Windows XP, and Windows 2000
(Amazon,
B&N,
Bookpool)
- I have an older edition of this book but
this one should be even better. This book is
a must if you want to understand how Windows
really works inside. It contains very little
programming but is indispensable if you are
serious about Windows programming.
- The Protocols (TCP/IP Illustrated, Volume 1) by W. Richard Stevens
(Amazon,
B&N,
Bookpool)
- A great book that describes
inner workings of TCP/IP. Don't be
frightened by its date of issue or Unix
focus. TCP/IP is the same even on VMS and
this book contains tons of information
useful for Windows programmer.
- Interconnections: Bridges, Routers, Switches, and Internetworking Protocols (2nd Edition)
by Radia Perlman (Amazon,
B&N,
Bookpool)
-
Ever wondered what all these routers,
switches, hubs etc. do and what to expect
from them as you write your application?
Then this book is for you
- Programming Windows Security by Keith Brown (Amazon,
B&N,
Bookpool)
- This book is a must read if you program on Windows and especially so if you deal with
networking. Seriously. There is no better
resource that explains what to do about all
these 'access denied' errors and why there
is no such thing as logon to domain.
Back to top
|
|
|
|
|
|