The Art of Doing: Python Network Applications with Sockets!
- Description
- Curriculum
- FAQ
- Reviews
Have you ever wanted to build your own online multiplayer game that you and your friends could play? How about wanting to build your own chat room like the golden AOL chat rooms from the 1990’s that you and your friends could “hang out” it. Want to learn the underlying principles of how programs like these work – how they can communicate and send data back and forth from one computer to the next over the internet? If the answer is yes, then please consider taking this course!
I know in my own journey with Python and computer science, once I got past the basics…the fundamentals…the whole “this is a for loop. Can you print the first 100 even numbers?” type exercises, the doors really opened up. There was only one problem: the doors opened up to a HUGE space, with very little guidance. Python is great because you can do so much with it, especially when you start to bring in new modules and libraries that give added functionality. While there are ample beginner resources out there willing to hold your hand and guide you through the learning, I felt there were significantly less targeting this intermediate audience…The audience that has learned the basics and are now looking for something more…
In this course, I decided to focus my intermediate projects around networking applications; I wanted to write programs that could talk to each other online, both across my local area network and across the internet as a whole. With this in mind, I asked myself what are some fun and engaging projects students would enjoy learning with and what external modules and libraries should we know to accomplish these projects. In this course we will complete the following:
- A two-way terminal based chat introducing the socket module
- A terminal based chat room introducing the threading module
- A GUI chat room introducing the Tkinter module
- How to configure your router to allow communication from an external network
- An advanced GUI chat room with admin window introducing the json/pickle modules
- An online multiplayer game introducing the Pygame module
Each project builds on the knowledge gained during the previous projects. In our culminating project, when we attempt to create our own online multiplayer game, we will be generating IPV4/TCP sockets to connect computers to a server running on a machine with a static IP and port forwarding enabled, creating various threads to run processes concurrently on our machines, we’ll use json to serialize python objects such as our game state and game players, and have a full interactive GUI interface using Pygame.
By the end of this course you will have multiple projects you can share with friends or family, have them run a client script from their house, connect to your server script, and show off all you learned.
-
6Creating a TCP Server SocketVideo lesson
-
7Creating a TCP Client SocketVideo lesson
-
8Sending Data Through a TCP ConnectionVideo lesson
-
9Creating and Sending Data Through a UDP Server/ClientVideo lesson
-
10Exploring the Buffer SizeVideo lesson
-
11Basic Two-Way Chat Part 1 - Server/Client SetupVideo lesson
-
12Basic Two-Way Chat Part 2 - Enabling The ChatVideo lesson
-
13The Threading Module Basics Part 1Video lesson
-
14The Threading Module Basics Part 2Video lesson
-
15Terminal Chat Room Part 1 - Server/Client SetupVideo lesson
-
16Terminal Chat Room Part 2 - Adding FunctionalityVideo lesson
-
17Terminal Chat Room Part 3 - Adding FunctionalityVideo lesson
-
18Terminal Chat Room Part 4 - Adding Functionality and TestingVideo lesson
-
19The Tkinter Module - Defining A Root WindowVideo lesson
-
20The Tkinter Module - Adding FramesVideo lesson
-
21The Tkinter Module - Adding WidgetsVideo lesson
-
22The Tkinter - Module - Adding FunctionalityVideo lesson
-
23Basic GUI Chat Room Part 1 - Building the Client LayoutVideo lesson
-
24Basic GUI Chat Room Part 2 - Building the Client LayoutVideo lesson
-
25Basic GUI Chat Room Part 3 - Adding FunctionalityVideo lesson
-
26Basic GUI Chat Room Part 4 - Adding Functionality and TestingVideo lesson
-
27The Pickle Module - Sending Objects Through the Data StreamVideo lesson
-
28The Json Module - Sending Objects Through the Data StreamVideo lesson
-
29Advanced GUI Chat Room Part 1 - Updating the Client LayoutVideo lesson
-
30Advanced GUI Chat Room Part 2 - Building the Server LayoutVideo lesson
-
31Advanced GUI Chat Room Part 3 - Outlining Server FunctionalityVideo lesson
-
32Advanced GUI Chat Room Part 4 - Outlining Client FunctionalityVideo lesson
-
33Advanced GUI Chat Room Part 5 - Staring the ServerVideo lesson
-
34Advanced GUI Chat Room Part 6- Processing Messages Server SideVideo lesson
-
35Advanced GUI Chat Room Part 7 - Starting the ClientVideo lesson
-
36Advanced GUI Chat Room Part 8 - Sending Data from Client to ServerVideo lesson
-
37Advanced GUI Chat Room Part 9 - Adding Admin FunctionalityVideo lesson
-
38Advanced GUI Chat Room Part 10 - Adding Admin FunctionalityVideo lesson
-
39Advanced GUI Chat Room Part 11 - Final TestingVideo lesson
-
40Adjusting Host Firewall for LAN CommunicationVideo lesson
-
41Setting a Static IP Address for WAN CommunicationVideo lesson
-
42Enabling Port Forwarding for WAN CommunicationVideo lesson
-
43Testing out WAN CommunicationVideo lesson
-
44Configuring A Second Router...Different Settings!Video lesson
External Links May Contain Affiliate Links read more