Giter Site home page Giter Site logo

signaling_java's People

Contributors

mugon-jeong avatar musma-gregory avatar shbae-musma avatar

Forkers

deok-ch

signaling_java's Issues

[FEATURE] 웹소켓 room 관리 기능

🔍 Description

어떤 기능을 만드나요? (기능 설명, 목표 등등)

cctv room 진입 요청

  1. CCTV

    • 시그널링 서버에서 long polling api를 호출하여 대기
    • long polling api에 camKey, roomId 데이터를 받아오고, 만약 시그널링 웹소켓에 접속하지 않았다면 접속
    • peer 생성하여 roomId,camKey를 이용하여 해당 웹소켓 룸에 offer, answer, iceCandidate 데이터를 주고 받는다.
    • CCTV 통신 완료
  2. 관리자 ( 앱 )

    • 해당 CCTV를 클릭하면 웹소켓 접속 , event-trigger api 를 호출하여 long polling 에 응답한다.
    • room에 입장후 peer 정보를 받는다
    • CCTV 화면 확인

cctv room 퇴장 처리

  1. CCTV

    • 시그널링 서버에서 long polling api를 호출하여 확인
    • long polling api 에서 룸 인원, camKey 확인
    • camKey로 peer를 끊고 , 룸 인원이 1명이하라면 웹소켓을 끊는다.
  2. 시그널링 서버

    • 웹 소켓 접속 인원, 퇴장 인원을 체크해주는 이벤트를 확인
    • 퇴장시에 해당 룸의 cctv에게 룸 인원, camKey 정보를 event-trigger 로 보내준다.

🔨 TODO

  • cctv room 진입 요청 long polling api 추가
  • cctv room 진입 요청 event-trigger api 추가
  • cctv room 퇴장 처리 long polling api 추가
  • room 상태 정보 저장 전역변수 추가
  • 웹소켓 입장, 퇴장 리스너 추가
  • 테스트용 프론트 페이지 작성
  • 테스트
  • 서버 재배포
  • postman에 등록

📚 Reference

기능 구현에 참고한 내용이 있나요? (블로그, 공식문서 등등)

테스트 페이지 확인 방법

  1. 크롬에서 chrome://flags 페이지에 접속
  2. Insecure origins treated as secure 옵션에서 http://59.20.93.135:9700 ip 추가
  3. http://59.20.93.135:9700/room/cctv.html ( cctv 역활 페이지 ) 를 접속하여 웹캠을 킨다.
  4. http://59.20.93.135:9700/room/app.html ( 앱 역활 페이지 ) 에 들어가 cctv 확인 버튼을 클릭하여 cctv 화면을 불러온다.
  5. 완료!

🔔 ETC

메모할 사항이 있나요? (다른 개발자가 봤을 때 참고하면 좋을 내용, PR에 전달할 내용 등등)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.