signaling_java's People
Forkers
deok-chsignaling_java's Issues
[FEATURE] 웹소켓 room 관리 기능
🔍 Description
어떤 기능을 만드나요? (기능 설명, 목표 등등)
cctv room 진입 요청
-
CCTV
- 시그널링 서버에서 long polling api를 호출하여 대기
- long polling api에 camKey, roomId 데이터를 받아오고, 만약 시그널링 웹소켓에 접속하지 않았다면 접속
- peer 생성하여 roomId,camKey를 이용하여 해당 웹소켓 룸에 offer, answer, iceCandidate 데이터를 주고 받는다.
- CCTV 통신 완료
-
관리자 ( 앱 )
- 해당 CCTV를 클릭하면 웹소켓 접속 , event-trigger api 를 호출하여 long polling 에 응답한다.
- room에 입장후 peer 정보를 받는다
- CCTV 화면 확인
cctv room 퇴장 처리
-
CCTV
- 시그널링 서버에서 long polling api를 호출하여 확인
- long polling api 에서 룸 인원, camKey 확인
- camKey로 peer를 끊고 , 룸 인원이 1명이하라면 웹소켓을 끊는다.
-
시그널링 서버
- 웹 소켓 접속 인원, 퇴장 인원을 체크해주는 이벤트를 확인
- 퇴장시에 해당 룸의 cctv에게 룸 인원, camKey 정보를 event-trigger 로 보내준다.
🔨 TODO
- cctv room 진입 요청 long polling api 추가
- cctv room 진입 요청 event-trigger api 추가
- cctv room 퇴장 처리 long polling api 추가
- room 상태 정보 저장 전역변수 추가
- 웹소켓 입장, 퇴장 리스너 추가
- 테스트용 프론트 페이지 작성
- 테스트
- 서버 재배포
- postman에 등록
📚 Reference
기능 구현에 참고한 내용이 있나요? (블로그, 공식문서 등등)
테스트 페이지 확인 방법
- 크롬에서 chrome://flags 페이지에 접속
- Insecure origins treated as secure 옵션에서 http://59.20.93.135:9700 ip 추가
- http://59.20.93.135:9700/room/cctv.html ( cctv 역활 페이지 ) 를 접속하여 웹캠을 킨다.
- http://59.20.93.135:9700/room/app.html ( 앱 역활 페이지 ) 에 들어가 cctv 확인 버튼을 클릭하여 cctv 화면을 불러온다.
- 완료!
🔔 ETC
메모할 사항이 있나요? (다른 개발자가 봤을 때 참고하면 좋을 내용, PR에 전달할 내용 등등)
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.