본문 바로가기

WebRTC3

Zoom. 기능 추가사항 ( +오류 해결 ) 2023.9.10 수정사항) 방 입장 / 퇴장메시지 전달하기. 문제 : 방을 입장할때는 입장했다는 메시지가 출력되는데, 나갈때는 퇴장 메시지 전달 x 원인1) : 브라우저1 /브라우저 2 로 접속했을 때, 브라우저2가 나갈 때, 나갔다는 메시지를 브라우저1에게 전달해야함. 하지만 브라우저 2가 나가면 브라우저 2가 해당되어있던 socket자체가 소멸되어 누가 나갔는지 disconnect메서드에 올바른 파라미터(인자)값을 전달할 수 없음. 원인2) : 브라우저2가 꺼지면, 저장되어있던 roomName의 값도 소실되어 어느방으로 부터 나갔는지 disconnect메서드에 올바른 인자값을 전달할 수 없음. 원인1 해결방법) socket.to로 emit(강제함수실행) 메서드를 보내지 않고 wsServer자체에 값.. 2023. 9. 11.
Zoom 만들기 14. WebRTC (2) 3. p2p 연결 생성하기 3-1) icecandidate 이해하기 offer 와 answer이 끝날 때, p2p연결의 양쪽에서는 icecandidate 이벤트를 실행할 것임. 여기서ice는 internet connectivity establishment를 의미하며 '인터넷 연결 생성'을 의미한다. icecandidate는 통신할 때 필요한 프로토콜과 라우팅 정보인데, 연결이 이루어지고 나면 이를 이용해 서로 데이터 교환을 시도할 수 있다. WebRTC연결이 처음 시작되면 일반적으로 icecandidate가 각 peer에서 여러개 만들어진다. 우리는 그중 하나를 연결에 이용하면 됨. 3-2) 이벤트 핸들러 함수 정의하기 //offer 받는 쪽. socket.on("offer", async(offer) =.. 2023. 9. 9.
Zoom만들기 13. WebRTC WebRTC는 web real-time communication을 뜻한다. WebRTC는 네가지 스텝을 통해 동작한다. Signalling Connecting Securing Communicationing 그리고 peer-to-peer로 데이터를 교환할 수 있게 해준다. 1. 그럼 peer-to-peer이 뭔데? 인터넷에 연결된 다수의 개별 사용자들이 중개 기관을 거치지 않고 데이터를 직접 주고받는다는 뜻이다. ※ socket.io로 만든 채팅 앱은 peer-to-peer가 아님. 왜냐하면 하나의 서버에 웹소켓이 여러개 이어져 있어서 서버가 중개 기관 역할을 했기 때문... 언제나 서버를 이용할 필요도 없다. 실시간 소통 속도도 빠르다. 서버를 유지하는데 드는 여러가지 비용도 줄일 수 있다. 다만 그렇다.. 2023. 9. 5.
반응형