Circa sei mesi fa decisu di fà un prugramma per cuntrullà un urdinatore attraversu un navigatore. Aghju cuminciatu cù un servitore HTTP simplice di un socket chì hà trasferitu l'imaghjini à u navigatore è hà ricevutu coordenate di cursore per u cuntrollu.
In un certu stadiu, aghju realizatu chì a tecnulugia WebRTC hè bè adattatu per questi scopi. U navigatore Chrome hà una tale suluzione; hè stallatu via una estensione. Ma vulia fà un prugramma ligeru chì travaglià senza installazione.
Prima aghju pruvatu à utilizà a biblioteca furnita da Google, ma dopu a compilazione piglia 500MB. Aviu avutu à implementà tuttu u stack WebRTC quasi da zero, è hà sappiutu mette tuttu in un schedariu exe 2.5MB. Un amicu hà aiutatu cù l'interfaccia in JS, è questu hè ciò chì avemu finitu.
Eseguimu u prugramma:
Aprite u ligame in una tabulazione di u navigatore è uttene un accessu cumpletu à u desktop:
Una breve animazione di u prucessu di stallazione di cunnessione:
Supportatu da Chrome, Firefox, Safari, Opera.
Hè pussibule di trasmette sonu, chjama audio, gestione di u clipboard, trasferimentu di fugliali è chjamate hot keys.
Mentre travagliava nantu à u prugramma, aghju avutu à studià una decina di RFC è capisce chì ùn ci hè micca abbastanza infurmazione in Internet nantu à u funziunamentu di u protocolu WebRTC. Vogliu scrive un articulu nantu à e tecnulugia chì sò aduprate in questu, vogliu sapè quale di e seguenti dumande sò d'interessu per a cumunità:
- Protokollu di descrizzione di dati in streaming SDP
- I candidati ICE è stabiliscenu una cunnessione trà dui punti, i servitori STUN è TURN
- Cunnessione DTLS è trasferimentu di chjave à a sessione RTP
- Protokolli RTP è RTСP cù criptografia per a trasmissione di dati media
- Trasferisce H264, VP8 è Opus via RTP
- Cunnessione SCTP per u trasferimentu di dati binari
Source: www.habr.com