Where to start learning Network programming


  • Hi,

    I know nothing about network programming and I now want to learn it, but I don't understand where to start, what is the right place. Some say to learn socket programming, but when I referred to MSDN, there are lots of other terms such Winsock, Winsock2, Network communication, Network Management, Network Protocols, Network Security. Under each category, there are many terms which are alien to me.

    In fact, I want to know what is the first step to start learning Windows Network Programming. Please guid me that what should be my correct approach.
    Also, please suggest me some good books and links.

    Thank you.
    Thursday, November 19, 2009 9:20 AM


All replies

  • Windows Network Programming is implemented using Windows Sockets (WinSock).  It's current implementation is WinSock2.

    If using C / C++ I'd recommend using these resources:
         TCP/IP Sockets in C by Michael J. Donahoo and Kenneth L. Calvert 
         Network Programming for Microsoft Windows, 2nd Ed. by Jim Ohlund and Anthony Jones
         Windows Sockets Network Programming by Bob Quinn
    If using Managed code (C# / VB):
         TCP/IP Sockets in C# by David Makofske, Michael J. Donahoo, and Kenneth L. Calvert 
         C# Network Programming by Richard Blum

    MSDN is a good source for samples, and explaining the functions you will be using.

    Its also good to know networking and its protocols at a higher level than programming as well, and suggest
         TCP/IP Illustrated by W. Richard Stevens

    Hope this helps.
    Dusty Harper [MSFT]
    Microsoft Corporation
    This posting is provided "AS IS", with NO warranties and confers NO rights
    Thursday, December 03, 2009 1:29 AM
  • Thank you very much for your guidance.
    • Marked as answer by abhay4u Monday, September 13, 2010 3:48 AM
    Tuesday, December 08, 2009 11:20 AM