모든 웹 개발자가 봐야 할 단 한 장의 지도
널널한 개발자
웹 개발 학습 중 길을 잃었나요? 스스로 길을 찾게 도와드리겠습니다. 비전공자라 하더라도 1시간 정도의 짧은 강의로 웹 서비스 구조가 어떻게 작동하는지 알 수 있습니다.
입문
backend, frontend, Spring
In this lecture, you will learn application-level protocol design techniques and how to develop a high-performance server based on IOCP!
Windows-based TCP socket programming techniques
Techniques for building multi-threaded servers
IOCP-based high-performance server production technique
Application-level protocol design techniques
Want to become a high-level programmer?
Challenge yourself with Windows Socket programming!
Learn how to develop TCP/IP socket programs in a Windows environment . This course covers everything from introductory theory on handling sockets to handling IOCPs (I/O Completion Ports) and application-level protocol design techniques.
High-performance servers are a must-know topic for C/C++ developers. And at the end of the spectrum, there's always IOCP. In fact, IOCP isn't a difficult topic! Anyone with a basic understanding of operating systems (especially virtual memory) and thread handling skills can learn it. In other words, a solid understanding of the underlying theory will make it easy to grasp.
Most books and lectures on socket programming focus on chat services. This process often leads to the development of some misconceptions . Unfortunately, these issues not only hinder understanding sockets but also hinder proper protocol design.
1️⃣ TCP Socket Programming Basics
2️⃣ Application Protocol Design Techniques
3️⃣ Server development methods that take failure situations into account
4️⃣ How to develop an IOCP-based server
This course addresses these issues, including those encountered in the introductory socket programming phase, by providing solutions and learning paths. Above all, you'll use Wireshark to directly inspect packets and connect your understanding of various theories with code-level situations. Furthermore, you'll learn how to respond to failures, laying the foundation for developing high-performance servers.
This course is for C/C++ developers who need to develop servers that require high performance!
Case 1 I want to do socket programming, but I'm stuck at the OSI 7 Layer.
You don't necessarily need to study the OSI 7-Layer model before studying socket programming. While it's certainly helpful to know, it's hardly mandatory. However, it's recommended that you begin after at least some study of the TCP protocol .
Case 2: I want to learn socket programming, but it's too difficult. Do I really need to learn system programming?
Anyone already familiar with systems programming can easily master socket programming by simply focusing on TCP. This underscores the importance of understanding systems programming. However, you don't need to understand all the complexities; simply understanding multithreading and synchronization methods will suffice for learning.
Case 3 I know that the IOCP server is high-performance, but it is too difficult to study.
Many people find IOCP difficult. This is because the internal flow is not visible and they lack experience with asynchronous file input/output techniques utilizing callback structures. Since sockets are essentially files , a thorough understanding of asynchronous input/output techniques will make understanding IOCP easy. This course's curriculum is designed to address these challenges.
Case 4 I am using a Client/Server architecture, but I am not sure if the applied protocol is appropriate and if it is correct to write the code like this.
Many people are intimidated by the term "protocol design." But once you understand it, it's not that complicated. This is especially true when you experience the send/receive structure at the code level .
Case 5: I want to become a game server developer. What should I study?
Game servers require high performance and high availability. A deep understanding of TCP/IP protocols , system programming skills , and protocol design capabilities are particularly crucial. Knowledge of high-speed input/output techniques like IOCP is also essential.
To study this course, you need to understand the content covered in the course curriculum below.
💾 Please check before taking the class.
Who is this course right for?
Anyone who wants to learn TCP/IP socket programming
Anyone who wants to know about Client/Server architecture protocol design techniques
For those who want to understand asynchronous file input/output
For those who want to know why asynchronous input/output can achieve high performance
Anyone who wants to develop a high-performance server based on IOCP
Anyone who wants to be a game server developer
Need to know before starting?
Contents corresponding to the lecture “C Programming: A Deep Review”
Contents corresponding to the lecture “Network Core Theory - Basics that you can memorize and finish”
38,147
Learners
2,225
Reviews
1,103
Answers
4.9
Rating
25
Courses
All
47 lectures ∙ (9hr 37min)
Course Materials:
All
45 reviews
5.0
45 reviews
Reviews 3
∙
Average Rating 5.0
Reviews 6
∙
Average Rating 5.0
5
이전의 시스템 프로그래밍-기본에 이어서 소켓프로그래밍에 들어갔는데, '소켓 = File 이다 / TCP로 가면 TCP Socket' 이다. 라는 게 추상적인 느낌이어서 무슨 말인지 모르겠던 게 명확해진 강의였습니다. 또한 이론으로만 봐서 무슨 내용인지 모르겠었던 3 Handshake의 작동과정 / listen , bind, accept 함수의 사용을 하면서 정말 도면 그대로의 순서로 코딩을 하는구나를 느끼면서 소켓 프로그래밍 도면과도 친구(?)가 될 수 있는 뜻 깊은 강의이기도 한 것 같습니다. ===== 이번 주 까지 소켓 프로그래밍 강의 전체 복습 / 주소록 연결리스트 재공부 이후에 네트워크 프로그래밍에 들어갑니다. 이전의 OS, TCP/IP, 시스템프로그래밍 공부를 하면서 겹치는 게 많다보니 이해가 크게 어렵지 않아 생각보다 진도가 빠르게 나가서 '이게 맞나?' 싶기도 합니다. 허허..
딱 제가 원했던 결과를 얻으신 것 같습니다. TCP/IP 프로토콜에 대해 알고 시스템 프로그래밍을 제대로 공부한다면 소켓 프로그래밍은 어떤 측면에서 자동으로 끝난다고 생각합니다. 정말 바람직한 방향으로 가고 계신다는 피드백을 드려봅니다. 그리고 네트워크 프로그래밍도 보면 알게 되시겠지만 다소 추상적일 수 있는 TCP/IP에 관한 설명이 왜 그렇게 됐는지 스스로 이해하실 수 있을 것입니다. 좋은 평가 고맙습니다. :)
Limited time deal ends in 5 days
$77,000.00
30%
$84.70
Check out other courses by the instructor!