Rreth gjysmë viti më parë, përshtata të bëja një program për menaxhimin e kompjuterit përmes shfletuesit. Nisa me një server HTTP me një socket, që dërgonte imazhe në shfletues dhe merrte koordinatat e miut për menaxhim.
Në një fazë të caktuar kuptova se teknologjia WebRTC është e përshtatshme për këto qëllime. Një zgjidhje e tillë ekziston në shfletuesin Chrome, e cila instalon përmes një shtese. Megjithatë, doja të bëja një program të lehtë, që do të funksiononte pa instalim.
Fillimisht provoja të përdorja bibliotekën e ofruar nga Google, por pas kompilit, ajo merrte 500MB. Duhej të realizoja të gjithë stekun WebRTC pothuajse nga e para, dhe arrita ta vendos në një skedë exe me madhësi 2.5MB. Një mik më ndihmoi me ndërfaqen në JS, ja çfarë doli në fund.
Nisni programin:

Hapni lidhjen në një skedë shfletuesi dhe merrni akses të plotë në desktopin:

Një animacion të vogël të procesit të krijimit të lidhjes:

Përkrahet nga Chrome, Firefox, Safari, Opera.
Ka mundësi të transmetimit të zërit, telefonatave audio, menaxhimit të clipboard-it, transmetimit të skedarëve dhe thirrjeve të tasteve të shkurtra.
Gjatë punës në program, më duhej të studion disa dokumente RFC dhe të kuptoj se në internet nuk ka mjaftueshëm informacion mbi funksionimin e protokollit WebRTC. Dëshiroj të shkruaj një artikull mbi teknologjitë që përdoren në të, dhe do doja të dija se cilat pyetje nga lista e mëposhtme i interesojnë komunitetit:
- Protokolli SDP për përshkrimin e të dhënave të rrjedhës
- Kandidatët ICE dhe vendosja e lidhjes midis dy pikave, STUN dhe TURN serverit
- Lidhja DTLS dhe transferimi i çelsave në seancën RTP
- Protokollat RTP dhe RTCP me enkriptim për transmetimin e të dhënave mediale
- Transmetimi i H264, VP8 dhe Opus përmes RTP
- Lidhja SCTP për transferimin e të dhënave binar
Burimi: habr.com
