
Windows System Programming
megayuchi
We'll teach you essential Windows System programming skills for developing games and applications for Windows.
Basic
windows-programming, C++, microsoft-visual-c++
This course covers the core aspects of TCP/IP network programming essential for online game development with a practical focus. You'll learn step by step from the basic principles of sockets to client-server architecture design, and implementation of game frameworks using custom-built network libraries. Topics covered: Basic network concepts and TCP/IP operation principles TCP programming using Socket API Packet protocol design and transmission structure implementation Client/server-based game framework development Optimization and practical tips needed for actual online game development Important notes: The course is conducted on Windows using Visual Studio. While it uses standard BSD socket API, there are slight differences from Unix-based operating systems. IOCP and Overlapped I/O are not covered.
63 learners
Level Intermediate
Course period Unlimited


Reviews from Early Learners
5.0
영환
This is such an informative lecture. After watching it, I’m practicing by typing out each line of code from scratch and reviewing the parts I don’t understand well by rewatching the lecture. It’s been a great help. Thank you.
5.0
wolfclaw4
I hope all job seekers listen to this.
5.0
아데니아
The comprehensive lecture materials provided help me understand the content more deeply.
Understanding and Application of TCP/IP
socket programming
Network Programming
Online Game Server Programming
Have you ever been curious about how multiplayer games or MMO games with large numbers of players work? Have you ever thought about adding network functionality to your own game to support online mode?
If so, this course can help you.
If you simply want to write code that sends and receives data over the internet, you can easily implement it using socket APIs. However, code that simply exchanges data is somewhat different from network programming in game development. This course goes beyond simple API usage to explain how to write actually usable network code and apply it to online games using a client/server model.
Introduces the OSI 7 layers and TCP/IP 4 layers, and explains how these concepts are integrated into the internet.
Learn the technical operating principles of TCP/IP, the main protocol that constitutes the Internet. This covers the structure of TCP headers and IP headers, TCP's sequence number and ACK response system, connection establishment using 3-way handshake, and connection termination using 4-way handshake.
Introducing Winsock, the socket API implementation for Windows.
Explains the differences between Winsock and Unix-based socket APIs. Previews the functions and features commonly used in Winsock programming.
Write the initial client and server code using the API that receives connection requests and the API that performs connection requests.
We use the send() and recv() functions to actually exchange data. At this point, we only deal with blocking mode sockets.
Blocking mode sockets are easy to use, but they are not suitable for real-time games. This explains how to write network code that can be used in actual game programming using non-blocking sockets.
Exception handling cannot rely solely on the basic functionality of sockets. We implement Recv-Buffer and Send-Buffer to prepare for exceptional situations that can occur due to TCP characteristics. This is a core functionality in full-scale network library development.
We will design and implement a network library that can be used commonly by both game servers and clients. This will allow you to jump at least two stages from simply implementing send/receive functionality using socket APIs to actual product development.
To achieve true modularization beyond the level of copying and pasting code, isolation must be achieved at the binary level. This introduces a method of separating network library code into a DLL to clearly establish the boundary between the content layer and network layer. This is of great help in actual product development.
While not a complete game, we'll implement the essential elements needed to develop an online game. Using the network library created in previous lectures, we'll write a simple demo where multiple clients connect to a server and synchronize movement processing.
This introduces technologies for improving network bandwidth efficiency and server equipment performance in online games. It also clarifies misconceptions about UDP vs TCP.
Operating System and Version (OS): Windows 10/11
Tools Used: Visual Studio 2022
pdf provided
Providing source code through attachments
Essential
C/C++
Basic Windows Programming
Recommended (The following courses may be helpful.)
Windows System Programming (https://inf.run/VciKC)
Windows debugging tip (https://inf.run/KH5J6)
The course is conducted using the winsock API in a Windows environment.
This covers common socket API technology that can be used in Unix-based systems including Linux, but the practice environment is Windows + Visual Studio 2022.
This course does not cover technologies such as Overlapped I/O and IOCP (I/O Completion Port) beyond the standard socket API.
Who is this course right for?
Developers who want to directly implement game server/client network architecture
Those who want to learn core network technologies like TCP/IP and sockets from a practical perspective
Need to know before starting?
C/C++
Windows programming
Inflearn Verified
Career Verified
3,433
Learners
116
Reviews
25
Answers
4.9
Rating
11
Courses
C++,x86/x64 ASM, DirectX9/11/12, Metal, OpenGL, CUDA, win32, winsock/bsd socket
D3D12프로그래밍 기초편 - https://inf.run/7gJhS
D3D12프로그래밍 기초플러스 - https://inf.run/itHDW
DirectX Raytracing 프로그래밍 - https://inf.run/cQqx7
Windows System 프로그래밍 - https://inf.run/AwfCv
Windows Debugging Tips - https://inf.run/zL7E4
Blog : https://megayuchi.com
Youtube : https://youtube.com/megayuchi
LinkedIn : https://www.linkedin.com/in/megayuchi/
All
11 lectures ∙ (11hr 56min)
Course Materials:
1. Network Fundamentals Part 1
01:36:25
5. send() / recv()
48:18
6. non-blocking socket
01:10:09
7. Send-Buffer / Recv-Buffer
01:02:46
All
8 reviews
5.0
8 reviews
Reviews 4
∙
Average Rating 5.0
Reviews 7
∙
Average Rating 4.4
Reviews 1
∙
Average Rating 5.0
Reviews 9
∙
Average Rating 5.0
Reviews 1
∙
Average Rating 5.0
Check out other courses by the instructor!
Explore other courses in the same field!
$152.90