Tutorials on 'Advanced' Winsock 2 Network Programming using C




These tutorials are code re-compilation from the 'outdated' Network Programming for Microsoft Windows book using the Winsock 2 library. Before you use these tutorials, please read the disclaimer. These tutorials  concentrate more on the coding side the working program examples, so all the codes have been updated, re-compiled and tested using Visual C++ 2008 Express Edition (free). However the Express Edition already gone with the wind and you may try using the VS Community Version. For the information part, you should refer to MSDN doc because it is updated regularly making the information provided here may be outdated...


Visual C++ Express Edition 2008 with Visual Studio service pack 1



 with PSDK installed and the version is depicted in the following screenshot.


The Windows Software Development Kits


Machine used is Windows XP Pro SP2 (version 5.1, build 2600.xpsp_sp2_gdr.090206-1233: Service Pack 2). VC++ project settings are defaults and only the Additional Dependencies (specific library) and Compile As C Code (/TC) are changed or added. These things are mentioned for each project creation in the tutorials. Happy coding!



Chapter 1:

An Intro to Windows Socket (Winsock 2) Programming - Headers,  libraries & Winsock APIs/functions

Chapter 2:

Some Protocol Characteristics Story - UDP, TCP, IP etc.

Chapter 3:

Winsock 2 and Internet Protocol - IPv4, IPv6 and related APIs

Chapter 4:

Winsock 2: Other Supported Protocols - Infrared (IrDA), IPX/SPX, AppleTalk, ATM and Bluetooth

Chapter 5:

Winsock 2 I/O Methods - Blocking, non-blocking, overlapped, select, completion port, WSAEventSelect and WSAAsyncSelect

Chapter 6:

Scalable Winsock 2 Applications - Winsock extension APIs

Chapter 7:

Socket Options and IOCTLs - Various socket options and the ioctls implementations

Chapter 8:

Registration and Name Resolution - Name, service, register, install, resolutions and DNS query

Chapter 9:

Multicasting - IPv4, IPv6, IP multicast, source multicast, reliable multicast and ATM multicast

Chapter 10:

Generic Quality-Of-Service (QOS) - Aspects for QOS design and implementations, UDP, TCP and ATM

Chapter 11:

The RAW Socket - ICMP, ping, traceroute, UDP, TCP and IP header include option

Chapter 12:

The Remote Access Service (RAS) - RAS client, RAS server, RasDial(), modes, phone book and VPN

Chapter 13:

The IP Helper Functions - Various IP helper functions with code samples: IPConfig, route, netstat, ARP and DHCP client

Chapter 14:

The Mailslots - Mailslots client, server and working examples

Chapter 15:

The Name Pipes - Thread, overlapped, client, server, ACL and design considerations






C & Linux Socket


C & Winsock: The Kick Start programming tutorials


C++, MFC & Winsock


C#, VB .NET & C++/CLI Network Programming


Visual C++ .NET Programming


Chilkat C++ Code Examples


Program Example Index




The Windows Win32 Code Example (Unicode version)


C Network Completed Project Download page 1 (59)


C Network Completed Project Download page 2 (30)


C Network Completed Project Download page 3 (30)


ReactOS - Windows OS Binary Compatible Open Source Project - C & C++


Windows Device Driver Development & Program Examples


Broken link? Respond to Webmaster: [The Winsock 2 hands-on C code recompilation]

Copyright 2019 © winsocketdotnetworkprogramming.com. All rights reserved.




Excellent hosting services for winsocketdotnetworkprogramming provided by: Windows/Linux Dedicated Cloud Servers from $48/month

Custom Search


Share and email to your beloved friends and foes:



This website is using cookies. Click for more info. That's Fine