Login using Name and Password at the top of the page to be able to download all the files.

Suggested video viewing order

Download Network Programming Video Tutorials

This series will teach you to use windows sockets to create internet, intranet, and other network-capable applications to transmit data across the wire, independent of the network protocol being used. We will be creating TCP and UDP networks for both client and server applications using C++.
33 Files6 hr 1 min
0

Introduction

Free
0
3.0
4 min
Welcome to network programming in Visual Studio 2010 using C++. This VMK describes what will be covered in the series. If there is stuff that you want me to cover in the network programming series let me know in the forums.
1

Setup

29.6 MB
29.6
29.6
22 min
I show how to setup the Network Manager project using Microsoft Visual Studio 2010. I also create a menu system that allows the user to choose whether they want to create a Server or a Client application, whether it will use TCP or UDP, and select which port number to use.
You must login to
download this file
2p1

TCP Server Part 1/2

76.0 MB
76.0
76.0
 
In this VMK I create the network manager class which is used throughout the series. In this video I show how to write the code to create a TCP server. This is the first part of VMK 2.
You must login to
download this file
2p2

TCP Server Part 2/2

75.7 MB
75.7
75.7
40 min
In this VMK I create the network manager class which is used throughout the series. In this video I show how to write the code to create a TCP server. This is the second part of VMK 2.
You must login to
download this file
3

TCP Client

26.7 MB
26.7
26.7
14 min
The TCP client code is written in this vmk. Using the client, you will now be able to connect to the tcp server developed in the previous vmk.
You must login to
download this file
4

Send String

17.4 MB
17.4
17.4
12 min
In this video I create a function that lets us send a fixed length string using the TCP connection that we established between the client and the server.
You must login to
download this file
5p1

Receive String Part 1/2

17.0 MB
17.0
17.0
 
I clean up the main function to show more clearly what the Server and Client applications do. Then I add the function to the NetworkManager that lets us receive string data sent over the network. Finally I test the functionality so that it works in both directions, Server to Client and Client to Server.
You must login to
download this file
5p2

Receive String Part 2/2

14.8 MB
14.8
14.8
17 min
I clean up the main function to show more clearly what the Server and Client applications do. Then I add the function to the NetworkManager that lets us receive string data sent over the network. Finally I test the functionality so that it works in both directions, Server to Client and Client to Server.
You must login to
download this file
6

UDP Send & Receive

15.6 MB
15.6
15.6
9 min
The sendString and receiveString function calls are updated in this VMK to allow UDP communication to send and receive string data.
You must login to
download this file
7

UDP Server

26.0 MB
26.0
26.0
15 min
In this video I show how to setup the server portion of the network if you plan on using UDP communication.
You must login to
download this file
8

UDP Client

20.1 MB
20.1
20.1
9 min
In this video I wrap up the missing component that is needed to do UDP communication across the network. We finally see how to initialize the _socketAddress member variable.
You must login to
download this file
9p1

Using Real IP Addresses Part 1/2

20.0 MB
20.0
20.0
 
In this video I replace the loopback IP address (127.0.0.1) with the real IP address used on my local area network. I also explain how to prepare remote computers so that they will be able to run the NetworkManager code.
You must login to
download this file
9p2

Using Real IP Addresses Part 2/2

18.9 MB
18.9
18.9
16 min
In this video I replace the loopback IP address (127.0.0.1) with the real IP address used on my local area network. I also explain how to prepare remote computers so that they will be able to run the NetworkManager code.
You must login to
download this file
10p1

Memory Cleanup Part 1/2

24.0 MB
24.0
24.0
 
In this video I cleanup the code used to allocate and deallocate dynamic memory in the network manager using the unique_ptr class. After this smart pointer is introduced, we won\'t have to call delete explicitly.
You must login to
download this file
10p2

Memory Cleanup Part 2/2

22.2 MB
22.2
22.2
18 min
In this video I cleanup the code used to allocate and deallocate dynamic memory in the network manager using the unique_ptr class. After this smart pointer is introduced, we won\'t have to call delete explicitly.
You must login to
download this file
11p1

Non-Blocking WinSock Part 1/2

16.0 MB
16.0
16.0
 
In this video I present the different ways in which a WinSock program can be written so that it does not block your main execution thread.
You must login to
download this file
11p2

Non-Blocking WinSock Part 2/2

14.2 MB
14.2
14.2
13 min
In this video I present the different ways in which a WinSock program can be written so that it does not block your main execution thread.
You must login to
download this file
12p1

Non-Blocking TCP Server Part 1/3

17.4 MB
17.4
17.4
 
This is VMK part 1 of 3. I demonstrate how to make the winsock code not block the TCP server. After switching to non-blocking mode, we explore the error messages that we get with our existing code and then we go through to fix them all to make the code run once again.
You must login to
download this file
12p2

Non-Blocking TCP Server Part 2/3

17.4 MB
17.4
17.4
 
This is VMK part 2 of 3. I demonstrate how to make the winsock code not block the TCP server. After switching to non-blocking mode, we explore the error messages that we get with our existing code and then we go through to fix them all to make the code run once again.
You must login to
download this file
12p3

Non-Blocking TCP Server Part 3/3

16.5 MB
16.5
16.5
24 min
This is VMK part 3 of 3. I demonstrate how to make the winsock code not block the TCP server. After switching to non-blocking mode, we explore the error messages that we get with our existing code and then we go through to fix them all to make the code run once again.
You must login to
download this file
13

Non-Blocking TCP Client

23.2 MB
23.2
23.2
10 min
In this VMK I update the TCP client code so that it too will run using non-blocking sockets.
You must login to
download this file
14

Non-Blocking UDP Communication

28.2 MB
28.2
28.2
12 min
In this video I show how to modify the udp server and udp client code so that they both will run using non-blocking sockets.
You must login to
download this file
15p1

Send String Packet Part 1/2

17.7 MB
17.7
17.7
 
In this video I introduce the concept of a packet. I show how to form a sample packet that can be used to transmit strings containing different lengths of characters.
You must login to
download this file
15p2

Send String Packet Part 2/2

16.9 MB
16.9
16.9
18 min
In this video I introduce the concept of a packet. I show how to form a sample packet that can be used to transmit strings containing different lengths of characters.
You must login to
download this file
16p1

Receive Packet Part 1/2

22.4 MB
22.4
22.4
 
In this video tutorial, I show how to decode the string packet that was sent in the previous VMK so that we can see what is being transmitted across the network.
You must login to
download this file
16p2

Receive Packet Part 2/2

21.4 MB
21.4
21.4
20 min
In this video tutorial, I show how to decode the string packet that was sent in the previous VMK so that we can see what is being transmitted across the network.
You must login to
download this file
17

GameData Class

26.0 MB
26.0
26.0
13 min
In this video I create a generic GameData class which holds different data types. In the next VMK we\'ll see how to transmit the contents of the class across the network.
You must login to
download this file
18p1

GameData Packet Part 1/2

24.0 MB
24.0
24.0
 
The GameData class created in the previous VMK is converted to a packet in this VMK so that the data contained in the class can be transmitted across the network.
You must login to
download this file
18p2

GameData Packet Part 2/2

23.0 MB
23.0
23.0
24 min
The GameData class created in the previous VMK is converted to a packet in this VMK so that the data contained in the class can be transmitted across the network.
You must login to
download this file
19p1

Float Conversion Tests Part 1/3

23.0 MB
23.0
23.0
 
In the previous VMK I left out how to transmit floating point numbers across the network. In this VMK I demonstrate different ways in which this can be done.
You must login to
download this file
19p2

Float Conversion Tests Part 2/3

23.0 MB
23.0
23.0
 
In the previous VMK I left out how to transmit floating point numbers across the network. In this VMK I demonstrate different ways in which this can be done.
You must login to
download this file
19p3

Float Conversion Tests Part 3/3

20.6 MB
20.6
20.6
32 min
In the previous VMK I left out how to transmit floating point numbers across the network. In this VMK I demonstrate different ways in which this can be done.
You must login to
download this file
20

Bitfield GameData Packet

26.2 MB
26.2
26.2
10 min
The data stored in the GameData class is packaged into a bitfield packet in this VMK to make it easier to transmit and receive data across the network.
You must login to
download this file