[ 一日30分 인생승리의 학습법 ] Build Your Own Remote Desktop Application using Javascript, Python & WebRTC — Part 1

Build Your Own Remote Desktop Application using Javascript, Python & WebRTC — Part 1

Nodejs & Python

Reason for using Nodejs :

To develop a remote desktop application we need ElectronWith the help of “Electron”, we can build our application using Javascript. Here javascript plays an important role in accessing the “WebRTC API”.

Reason for using Python :

Python is used to execute the mouse and keyboard events that are received from the client. Here we will use the PyAutoGui library for events execution.

How the communication will be established between Electron & Python ?

To establish communication between Electron & Python we will use “WebSockets” library. Using this library we will create a local server that will transfer data between Electron (Javascript) & Python.

Libraries used in this project

Nodejs Libraries :

Python Libraries :

How this remote desktop application will works ?

Remote Desktop Client & Server conceptual image

The remote desktop application which we going to build is fully based on “WebRTC”. It is a real-time communication technology that can be used to establish a peer to peer communication between two clients. By using “WebRTC” we can stream our audio and video directly from the browser and also we can able to share the computer screen using “Screen Share API”.

Note : In this blog, we mainly focus on building the application. If you want to know more details about WebRTC please checkout https://webrtc.org/

To make this project possible we need to build three major things they are Signaling Server, Screen Sharing Application, and Client Web Application.

Signaling Server

Step 1 : Building the signaling server is the first step of our project. This server is only required to establish a WebRTC connection between two clients. In our case, it will be Screen Sharing Application & Client Web Application.

Screen Sharing Application

Step 2 : Using Electron & Python we will build a screen sharing application that will transmit live screen to the client and also receive the keyboard and mouse events from a client and execute it on the same (host or remote) system.

Client Web Application

Step 3 : This is the final step of our project and in this phase, we will build a client web application that will receive the live screen from the remote pc, and also we can able to control the remote pc from this web application.

[출처] https://ragul-harisankar.medium.com/build-your-own-remote-desktop-application-using-javascript-python-webrtc-2636bdce1129

 

 

 

본 웹사이트는 광고를 포함하고 있습니다.
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.
번호 제목 글쓴이 날짜 조회 수
1088 [ 一日30分 인생승리의 학습법 ] Build Your Own Remote Desktop Application using Javascript, Python & WebRTC — Part 2 file 졸리운_곰 2022.08.05 5
» [ 一日30分 인생승리의 학습법 ] Build Your Own Remote Desktop Application using Javascript, Python & WebRTC — Part 1 file 졸리운_곰 2022.08.05 2
1086 [ 一日30分 인생승리의 학습법 ] REST API 규칙 졸리운_곰 2022.08.03 0
1085 [ 一日30分 인생승리의 학습법 ]REST API 설계 (네이밍) 졸리운_곰 2022.08.03 0
1084 [ 一日30分 인생승리의 학습법] [2탄!!] KrakenD Demo 면을 알아보죠! file 졸리운_곰 2022.08.01 0
1083 [ 一日30分 인생승리의 학습법] [1탄!!]KrakenD가 무엇인가? 과연 Api Gateway로 으뜸인가요? file 졸리운_곰 2022.08.01 0
1082 [ 一日30分 인생승리의 학습법] 오픈소스 라이선스 별 의무사항 졸리운_곰 2022.07.29 0
1081 [ 一日30分 인생승리의 학습법] The complete guide to (external) Domain Specific Languages file 졸리운_곰 2022.07.08 3
1080 [ 一日30分 인생승리의 학습법] [Elasticsearch] 기본 개념잡기 file 졸리운_곰 2022.06.02 7
1079 [ 一日30分 인생승리의 학습법]node - pm2로 node.js 프로세스 관리하기 - 기본 명령어, 실행하기 file 졸리운_곰 2022.05.28 3
1078 [ 一日30分 인생승리의 학습법][1탄!!]KrakenD가 무엇인가? 과연 Api Gateway로 으뜸인가요? file 졸리운_곰 2022.04.15 5
1077 [ 一日30分 인생승리의 학습법][API Gateway] Kong Gateway 설치 file 졸리운_곰 2022.04.15 3
1076 [ 一日30分 인생승리의 학습법] TeX_및_LaTeX_수식_문법 file 졸리운_곰 2022.03.19 23
1075 [ 一日30分 인생승리의 학습법] Visual Basic application on linux 졸리운_곰 2022.02.22 5
1074 [ 一日30分 인생승리의 학습법] Truffle을 이용한 DApp 개발환경 구성 file 졸리운_곰 2022.02.20 78
1073 [ 一日30分 인생승리의 학습법]LaTeX 활용해서 논문쓰장 file 졸리운_곰 2022.02.17 10
1072 [ 一日30分 인생승리의 학습법] LaTeX 초보자가 감을 잡는 것을 돕는 몇가지 팁 졸리운_곰 2022.02.17 7
1071 [ 一日30分 인생승리의 학습법] 수식 입력이 가능한 마인드맵 프로그램, 프리플레인(freeplane) file 졸리운_곰 2022.02.16 13
1070 [ 一日30分 인생승리의 학습법] Awesome Metaverse Awesome 짱!~ 메티버스 오픈소스 file 졸리운_곰 2022.02.13 4
1069 [ 一日30分 인생승리의 학습법] 제 NAS의 Docker 목록 file 졸리운_곰 2022.01.31 22
대표 김성준 주소 : 경기 용인 분당수지 U타워 등록번호 : 142-07-27414
통신판매업 신고 : 제2012-용인수지-0185호 출판업 신고 : 수지구청 제 123호 개인정보보호최고책임자 : 김성준 sjkim70@stechstar.com
대표전화 : 010-4589-2193 [fax] 02-6280-1294 COPYRIGHT(C) stechstar.com ALL RIGHTS RESERVED