Kompjûterbehear op ôfstân fia browser

Sa'n seis moanne lyn besleat ik in programma te meitsjen om in kompjûter fia in browser te kontrolearjen. Ik begon mei in ienfâldige HTTP-tsjinner mei ien socket dy't ôfbyldings oerbrocht nei de blêder en ûntfong rinnerkekoordinaten foar kontrôle.

Op in bepaald stadium realisearre ik dat WebRTC-technology goed geskikt is foar dizze doelen. De Chrome-blêder hat sa'n oplossing; it wurdt ynstalleare fia in útwreiding. Mar ik woe meitsje in lichtgewicht programma dat soe wurkje sûnder ynstallaasje.

Earst besocht ik de bibleteek te brûken dy't Google levere, mar nei kompilaasje nimt it 500MB op. Ik moast implementearje de hiele WebRTC stack hast út 'e kratsje, en slagge te passe alles yn in 2.5MB exe triem. In freon holp mei de ynterface yn JS, en dit is wat wy einige mei.

Litte wy it programma útfiere:

Kompjûterbehear op ôfstân fia browser
Iepenje de keppeling yn in blêderljepper en krije folsleine tagong ta it buroblêd:

Kompjûterbehear op ôfstân fia browser
In koarte animaasje fan it ferbiningsynstellingsproses:

Kompjûterbehear op ôfstân fia browser
Stipe troch Chrome, Firefox, Safari, Opera.

It is mooglik om lûd, audio-oprop te ferstjoeren, it klamboerd te behearjen, bestannen oer te dragen en fluchtoetsen te skiljen.

Wylst ik oan it programma wurke, moast ik in tsiental RFC's studearje en begripe dat d'r net genôch ynformaasje op it ynternet is oer de wurking fan it WebRTC-protokol. Ik wol in artikel skriuwe oer de technologyen dy't dêryn wurde brûkt, ik soe graach útfine hokker fan 'e folgjende fragen fan belang binne foar de mienskip:

  • SDP streaming data beskriuwing protokol
  • ICE kandidaten en it meitsjen fan in ferbining tusken twa punten, STUN en TURN servers
  • DTLS-ferbining en oerdracht fan kaaien nei RTP-sesje
  • RTP- en RTСP-protokollen mei fersifering foar it ferstjoeren fan mediagegevens
  • Oerdrage H264, VP8 en Opus fia RTP
  • SCTP-ferbining foar it oerdragen fan binêre gegevens

Boarne: www.habr.com

Add a comment