Media Handling on the Web - Learning MediaStream API by Building Video Chat
sir24is
Handling media (video, audio) on the web is now easier than ever! Learn the MediaStream API and WebRTC by following along step by step.
초급
React, Java, Web API
Learning about various communication techniques and understanding their differences helps you develop the ability to select and implement the most appropriate communication method.
3 learners are taking this course
Learn the fundamentals of network communication and communication techniques using HTTP and SSE
Learn beyond the basics of WebSocket to practical applications
Let's create a Signaling Server to enable true P2P communication
Develop the ability to compare and analyze various network communication technologies, and to select and apply appropriate techniques
Properly understanding network communication is an essential skill for web developers.
This course covers various communication techniques in depth, including HTTP, SSE, WebSocket, and WebRTC, helping you learn the characteristics and usage of each technology to develop the ability to select and implement the optimal communication method.
[Pain Point Scenario 1]
Have you ever experienced slow development progress due to complex server communication logic, and felt overwhelmed about which technology to use when actually implementing it?
[Pain Point Scenario 2]
While implementing services that require real-time bidirectional communication between client and server (such as chat or games), were you curious about WebSocket usage beyond the basics?
[Pain Point Scenario 3]
Have you ever been interested in P2P communication that doesn't go through a server, specifically WebRTC technology, but found it difficult to even attempt due to the complexity of setting up a signaling server or the complicated connection process?
We provide the best learning experience to help you overcome all these challenges and become a web communication expert.
Start now and elevate your development skills to the next level!
Become a real-time network communication expert by seamlessly navigating between server and client.
Develop the ability to understand and utilize network communication.
You will gain a deep understanding of the principles behind various web communication techniques such as HTTP, SSE, WebSocket, and WebRTC, and clearly understand the differences between each technology. Through this, you will develop the ability to independently determine which communication method to use in different situations and implement them accordingly.
Gain hands-on experience implementing various web communication technologies.
We go beyond simple theoretical learning by directly building a Signaling Server and implementing WebRTC-based P2P communication. Additionally, through hands-on practice using WebSocket, you'll experience the process of creating complex communication features yourself, developing practical skills that can be immediately applied to real service development.
Acquire practical communication technology skills focused on real-world applications.
From web development beginners to developers struggling with WebSocket or WebRTC implementation, this course will help you improve your practical communication feature implementation skills. You'll understand the pros and cons of each communication method and develop the insight to select the optimal technology for your projects.
Develop both server and client development skills together.
It covers both backend development using Java and frontend development using JavaScript. Through this, you can gain an integrated understanding of how web communication works between the server and client sides, and strengthen the core competencies needed as a full-stack developer.
This course provides an in-depth understanding of network communication, an essential element of web development. From HTTP, SSE, WebSocket, to WebRTC P2P communication, you can systematically learn from the basic principles of each technology to actual implementation methods. By comparing and analyzing various communication methods, you will develop the ability to select and apply the most optimized technology for your projects.
The course doesn't stop at just theoretical learning. Through frontend implementation using JavaScript and React, and backend development using Java and Spring Boot, you'll directly build real chat services, WebRTC-based P2P communication, and more. This allows you to immediately apply what you've learned and strengthen your practical skills.
We provide all source code used in the course. Through Java-based projects for backend development and JavaScript code for frontend development, you can solidly understand the learning content and improve your network communication development skills by running the code directly. Lecture notes are also provided to enhance learning efficiency.
The lecture notes can be accessed at the following URL.
Section 1
This section covers the overall introduction to the course, along with how to set up a practice environment for learning network communication. It includes the process of creating backend and frontend projects.
Section 2
We will learn the fundamental concepts of networking that form the foundation of web communication and the operating principles of sockets. By understanding the core principles of socket communication, we will establish a foundation for various communication techniques to be covered later.
Section 3
This course covers HTTP protocol in detail, from its origins and fundamental principles to server and client implementation. You'll learn communication methods using XMLHttpRequest and external libraries, as well as solutions for resolving CORS issues.
Section 4
You will learn the basics of SSE, which enables unidirectional real-time data transmission from server to client. You will write server and client programs and learn how to implement and apply SSE using the EventSource API.
Section 5
This introduces the basic principles of WebSocket, which supports bidirectional real-time communication between client and server. You will learn how to write server programs using WebSocketHandler and methods for sending and receiving messages from the client.
Section 6
This covers server-side development for implementing real-time applications using WebSocket. It defines application protocols and message formats, and implements concurrency control and message processing logic for ChatRoom.
Section 7
We will proceed with client-side development for integration with the WebSocket server. Starting with UI creation, we will implement application protocol transmission, chat room participation, and server event handling features.
Section 8
Learn the concept of WebRTC, which enables direct browser-to-browser communication (P2P). Understand MediaStream processing, permission requests, and the role of Signaling Server for P2P connections and message handling methods.
Section 9
You will learn how to implement P2P communication on the client side using WebRTC. You will practice writing the user interface and establishing peer-to-peer connections through the Offer and Answer process.
Web development is new to you, so you feel vague about what exactly HTTP or WebSocket is,
and how they work
If you need real-time communication technologies like WebSocket or WebRTC,
but feel overwhelmed about where to start
You can create REST APIs quite well with Spring Boot,
but are curious about other communication methods using SSE, WebSocket, etc.
Practice Environment
Operating System: You can learn on both Windows and macOS.
Development Tools: You can use VS Code or your preferred IDE.
Installation Program: Install and use JavaSDK and NodeJS.
Prerequisites and Important Notes
An understanding of Java and JavaScript is required.
Basic knowledge of web development using React is required.
If you're new to this, you can follow along with the course after just reading through the "Quick Start" page in the official documentation.
Even those encountering network communication concepts for the first time can take this course.
Learning Materials
You can view the lecture notes online.
Practice with example code by writing it yourself, and complete source code is provided
Who is this course right for?
Someone who is entering web development and wants to use network communication features
Anyone who wants to master not only the basics of WebSocket but also its practical applications
Those who want to learn about WebRTC P2P communication where you can actually establish real connections
Those who want to develop the ability to understand, compare, and select various network communication techniques
Need to know before starting?
Knowledge of Java syntax is required, and familiarity with SpringBoot would be beneficial
You'll need knowledge of JavaScript syntax, and it would be helpful if you're familiar with React. (If you're new to it, you can follow along with the course after learning just the "Quick Start" page from the official documentation.)
All
69 lectures ∙ (7hr 54min)
Course Materials:
6. Web and Network
04:38
7. socket
07:22
8. Socket Operations
04:43
Limited time deal
$42.90
29%
$60.50
Check out other courses by the instructor!
Explore other courses in the same field!