지금까지 WebRTC란 무엇이고 어떠한 사전지식이 필요한지 알아보았습니다. 그래서 오늘은 구현을 하면서 한번 더 정리를 해보는 시간을 가져보겠습니다. 먼저 Peer to Peer을 연결하면서 어떻게 클라이언트를 연결해야하지? 라는 생각과 이 개념이 제대로 잡히지 않아서 어려웠습니다. 그래서 제가 생각하는 중요한 개념을 먼저 짚고 넘어가겠습니다. 시그널링 (Signaling)이란? 서로 다른 네트워크에 있는 2개의 디바이스들을 통신하기 위해서는, 각 디바이스들의 위치(IP)를 발견 및 미디어 포맷 협의가 진행되어야 합니다. 이 프로세스를 시그널링이라 부르고 디바이스들을 상호간에 동의된 서버(중간 서버 ex: socket)에 연결시킵니다. 시그널링 서버란? 두 디바이스들 사이에 WebRTC 커넥션을 맺기 위..
WebRTC를 이해하기 위해서 어떠한 사전 지식들을 필요로 하는지 알아보고 가겠습니다. 목차 NAT ICE STUN Server TURN Server WebRTC를 구성하는 프로토콜 NAT에 대하여 Network Address Translation 사람은 이름으로 구별할 수 있듯이 각 기기에도 자신만의 이름이 있습니다. 그것이 바로 IP이고, 이 IP는 고정 IP, 유동 IP로 나뉘어서 실제 고유의 값일 수도 있고 아닐 수도 있습니다. 더 나아가서 회사망/내부망은 Private IP이기 때문에 다른 네트워크(구글 홈페이지 접속, 네이버 홈페이지 접속) 등 다른 네트워크에서는 일반적으로 쓰이지 않습니다. 그렇기 때문에 우리가 통상적인 네트워크에서 데이터를 주고 받기 위해서는 Public IP가 필요합니다...
WebRTC란? WebRTC(Web Real-Time Communication)이란 웹 애플리케이션과 사이트가 중간자 없이 브라우저 간에 오디오나 영상 미디어를 포착하고 마음대로 스트림할 수 있을 뿐만 아니라 임의의 데이터도 교환할 수 있도록하는 기술입니다. 간단히 말하자면 플러그인 설치 없이 웹 브라우저 간 P2P 연결을 통해 데이터 교환을 가능하게 하는 기술 입니다. P2P 연결은 중개 서버를 거치지 않기 때문에 빠른 속도가 보장되며, HTTPS가 강제되기 때문에 중간 공격에 대한 보안이 보장됩니다. 그리고 P2P 연결에서는 속도와 보안, 효율성을 고려해야하며, WebRTC가 범용적으로 사용되기 위해서는 다양한 플랫폼(Zoom, Meet)에 접속하는 사용자들에게 동일한 사용자 경험을 제공해야 합니다...
프록시 패턴이란? 프록시는 대리인이라는 뜻으로, 무언가를 대신 처리하는 역할을 담당합니다. 어떠한 객체를 사용하고자 할때 객체를 직접적으로 참조 하는것이 아니라 해당 객체를 대행(proxy)하는 객체를 통해 대상 객체에 접근하는 방식입니다. 이렇게 접근을 하면 접근하고자 하는 객체가 메모리상에 존재하지 않아도 기본적인 정보를 참조하거나 설정할 수 있고 또한 실제 객체의 기능이 필요한 시점까지 객체의 생성을 지연시킬 수 있습니다. 클래스 다이어그램 Subject Proxy와 RealSubject가 구현해야하는 인터페이스 두 객체를 동일하게 다루기 위해서 존재 Proxy RealSubject와 Client 요청 사이에 존재하는 객체 Subject를 구현함으로써 클라이언트는 RealSubject를 사용하는 것..
- Total
- Today
- Yesterday
- transactional outbox pattern
- 레이어드 아키텍처란
- polling publisher spring boot
- pipeline architecture
- spring boot redisson 분산락 구현
- 자바 백엔드 개발자 추천 도서
- redis sorted set으로 대기열 구현
- java userThread와 DaemonThread
- transactional outbox pattern spring boot
- 공간 기반 아키텍처
- redis sorted set
- @ControllerAdvice
- 트랜잭셔널 아웃박스 패턴 스프링부트
- spring boot poi excel download
- spring boot redisson sorted set
- spring boot excel download paging
- microkernel architecture
- service based architecture
- 람다 표현식
- JDK Dynamic Proxy와 CGLIB의 차이
- redis 대기열 구현
- java ThreadLocal
- spring boot redisson destributed lock
- spring boot redis 대기열 구현
- space based architecture
- 서비스 기반 아키텍처
- 트랜잭셔널 아웃박스 패턴 스프링 부트 예제
- spring boot excel download oom
- pipe and filter architecture
- spring boot 엑셀 다운로드
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |