웹 브라우저에서 토렌트를? WebRTC

카테고리 : 소개/오픈소스

최신 웹 브라우저에는 WebRTC(Web Real-Time Communication)라는 기술을 사용가능합니다.

흔히 웹이라고 하면 개발자는 '서버 - 클라이언트' 통신을 떠올리게 됩니다.

 

아직 WebRTC를 한번도 접해본 적 없다면? 그리고 웹 개발 경험이 있다면?

웹 브라우저 상에서 '클라이언트 - 클라이언트' 통신은 말도 안된다고 생각할 수 있습니다.

 

그러나, WebRTC를 이용한다면 '클라이언트 - 클라이언트'로 서버에 파일을 저장하는 과정을 생략하고 파일공유도 가능하다.

 

현재 제가 시도하고 있는 분야는 WebRTC가 아니라서 몰랐던 분들을 위해 간단히 소개합니다.

이런것도 있구나 정도로만 읽어주세요.

기존에 불가능했던 누군가의 아이디어를 가능하게 만들어주는 기술일 수 있습니다.

 

 

WebRTC를 이용하는 크롬 원격

크롬 원격 데스크톱 remotedesktop.google.com

크롬 원격에서도 서버를 거치지 않고, WebRTC를 이용해서 통신합니다.

간단히, 크롬에서 WebRTC를 이용하지 못하도록 설정하면 원격 데스크톱 연결이 불가해짐을 확인해 볼 수 있습니다.

 

 

 

웹에서 토렌트를?

https://github.com/webtorrent/webtorrent

 

GitHub - webtorrent/webtorrent: ⚡️ Streaming torrent client for the web

⚡️ Streaming torrent client for the web. Contribute to webtorrent/webtorrent development by creating an account on GitHub.

github.com

이걸 툴에 추가할까 고민도 했었지만, 약간은 실험적인 기능이고 피어가 유지될 가능성이 적어서 웹에서 다운받기가 어렵다는 점 때문에 라이브러리는 잘 만들었지만(jsdelivr연결만 하면 상용으로 사용가능한 수준) 추가하진 않았다.

 

 

또 다른 WebRTC 기반 오픈소스

https://github.com/peers/peerjs

 

GitHub - peers/peerjs: Simple peer-to-peer with WebRTC

Simple peer-to-peer with WebRTC. Contribute to peers/peerjs development by creating an account on GitHub.

github.com

 

생각만 하고 있고 기존 브라우저에서 제약때문에 못한것이 WebRTC를 이용해서 만들 수 있을것 같다면

위 라이브러리의 소스와 아래 MDN안내서를 참고해서 만들어보세요.

https://developer.mozilla.org/ko/docs/Web/API/WebRTC_API 

 

WebRTC API - Web API | MDN

WebRTC(Web Real-Time Communication)은 웹 애플리케이션과 사이트가 중간자 없이 브라우저 간에 오디오나 영상 미디어를 포착하고 마음대로 스트림할 뿐 아니라, 임의의 데이터도 교환할 수 있도록 하는

developer.mozilla.org

 

오픈소스쪽을 보니 이를 활용한 파일 공유 서비스는 이미 많이 보이는 것 같습니다.

'소개 > 오픈소스' 카테고리의 다른 글

Pure CSS img slider  (0) 2020.06.24
간편하고 디자인 좋은 코드 블럭 Prism.JS !  (0) 2019.09.11
Prism.JS 티스토리에 쉽게 적용하기  (1) 2019.06.20

 

저작권 보호안내
무단 전재, 재배포 행위는 금지됩니다. (글을 복사하여 게시금지)
본문의 일부(링크용 문장) 인용은 가능하지만, 출처와 링크(a 태그)를 남기셔야 됩니다.
(웹툴을 이용하고, 스크린샷/녹화하는것은 상관없습니다.)

예외적으로. 저에게 허락받은 경우에는 본문을 전재할 수 있습니다.

만약, 본문 공유를 원하신다면 링크 공유를 해주세요

저작권 정책 확인하기
링크 공유하기

 댓글