컴퓨터 공학 자료(학부)/Network
UDP+mulit ports와 VoIP를 이용해 구현한 실시간 다중 화상 회의
아이디정하는일이가장힘들다
2010. 11. 8. 19:30
본 시스템은 UDP-다중 포트 방식과 VoIP 기법을 응용하여 제작한 실시간 화상 강의 시스템 이다. 학생은 클라이언트 프로그램으로, 교수는 서버 프로그램으로 접속하여 서로 실시간 으로 영상 및 음성 대화를 주고 받을 수 있으며, 그 외에 채팅이 가능하고 교수는 체벌 기능과 경고 기능을 통해 학생에게 퇴장이나 잠을 깰 것을 종용할 수 있다. 교수가 화면에서 옐로카드를 꺼내 들면 자동으로 시스템이 화면을 인식하여 해당학생에게 경고를 보내고, 레드 카드를 꺼내 들면 해당학생은 자동으로 시스템에서 퇴장된다. 잠 깨우기 기능을 이용하면 해당 학생의 어플리케이션에서는 굉음과 함께 경고메시지가 발생하여 잠이 깨도록 한다. 또한 학생은 질문하기 기능을 통해 교수에게 강의 도중 질문을 할 수 있고 교수는 1:1 메시지 형식으로 학생으로부터 질문을 받는다. 본 시스템에서 학생은 최대 여섯 명까지 접속이 가능하며, 테스트 결과 그 이상의 학생이 접속해도 충분히 영상의 끊김 및 노이즈 현상 없이 원활하게 동작한다(UDP+multi port 방식)
본 시스템은 UDP-multi port 방식을 채택하여 실시간으로 영상을 주고 받는 식으로 설계되었다. TCP/IP 대신에 논블럭킹 방식인 UDP를 채택하여 영상의 QoS 를 높이고 다중 접속시에도 영상이 부드럽게 송/수신 되도록 구현하였다.
본 시스템은 영상중계와 동시에 영상 송/수신 포트 이외에 6002 포트를 이용하여 음성 패킷을 실시간으로 주고받는다. MFC 자체 라이브러리를 이용하여 구현하였으며, 최대한 음성의 QoS를 보장하고 영상과의 싱크로를 맞추기 위해 역시 UDP 방식으로 설계.
휴 이거 구현하느라 일주일동안 새벽 네시전에 잔적이 없다 ;;
죽는줄 알았다
멀티포트로 짰고 쓰레드를 네 개를 할당..
조금 무식하지만 속도면에서는 대여섯명이 들어와도 끊기지 않는다.
역대 텀중에서 가장 고생많이 했고 가장 기억에 남는다
음성도 당연히 마이크있으면 실시간으로 된다.
서버 모델만 대여섯번쯤짰다
tcp, udp, csocket 이용등.....꽤 만족스런 결과물이다.