최신 웹 브라우저에는 WebRTC(Web Real-Time Communication)라는 기술을 사용가능합니다.
흔히 웹이라고 하면 개발자는 '서버 - 클라이언트' 통신을 떠올리게 됩니다.
아직 WebRTC를 한번도 접해본 적 없다면? 그리고 웹 개발 경험이 있다면?
웹 브라우저 상에서 '클라이언트 - 클라이언트' 통신은 말도 안된다고 생각할 수 있습니다.
그러나, WebRTC를 이용한다면 '클라이언트 - 클라이언트'로 서버에 파일을 저장하는 과정을 생략하고 파일공유도 가능하다.
현재 제가 시도하고 있는 분야는 WebRTC가 아니라서 몰랐던 분들을 위해 간단히 소개합니다.
이런것도 있구나 정도로만 읽어주세요.
기존에 불가능했던 누군가의 아이디어를 가능하게 만들어주는 기술일 수 있습니다.
WebRTC를 이용하는 크롬 원격
크롬 원격 데스크톱 remotedesktop.google.com
크롬 원격에서도 서버를 거치지 않고, WebRTC를 이용해서 통신합니다.
간단히, 크롬에서 WebRTC를 이용하지 못하도록 설정하면 원격 데스크톱 연결이 불가해짐을 확인해 볼 수 있습니다.
웹에서 토렌트를?
https://github.com/webtorrent/webtorrent
이걸 툴에 추가할까 고민도 했었지만, 약간은 실험적인 기능이고 피어가 유지될 가능성이 적어서 웹에서 다운받기가 어렵다는 점 때문에 라이브러리는 잘 만들었지만(jsdelivr연결만 하면 상용으로 사용가능한 수준) 추가하진 않았다.
또 다른 WebRTC 기반 오픈소스
https://github.com/peers/peerjs
생각만 하고 있고 기존 브라우저에서 제약때문에 못한것이 WebRTC를 이용해서 만들 수 있을것 같다면
위 라이브러리의 소스와 아래 MDN안내서를 참고해서 만들어보세요.
https://developer.mozilla.org/ko/docs/Web/API/WebRTC_API
오픈소스쪽을 보니 이를 활용한 파일 공유 서비스는 이미 많이 보이는 것 같습니다.
'소개 > 오픈소스' 카테고리의 다른 글
Pure CSS img slider (0) | 2020.06.24 |
---|---|
간편하고 디자인 좋은 코드 블럭 Prism.JS ! (0) | 2019.09.11 |
Prism.JS 티스토리에 쉽게 적용하기 (1) | 2019.06.20 |
저작권 보호안내
무단 전재, 재배포 행위는 금지됩니다. (글을 복사하여 게시금지)
본문의 일부(링크용 문장) 인용은 가능하지만, 출처와 링크(a 태그)를 남기셔야 됩니다.
(웹툴을 이용하고, 스크린샷/녹화하는것은 상관없습니다.)
예외적으로. 저에게 허락받은 경우에는 본문을 전재할 수 있습니다.
만약, 본문 공유를 원하신다면 링크 공유를 해주세요
저작권 정책 확인하기링크 공유하기