어읽로꾸거
[Java] 소켓을 이용한 인터넷 전화 본문
원래는 Unity로 소켓을 이용해 3d게임을 만들던 도중 오버워치처럼 음성대화를 하면 좋겠다는 생각이 들었다.
그래서 자바로 소켓을 이용해 이틀정도 걸려서 만들었다. 오디오 데이터를 다루는 것은 처음이라 좀 어려웠음.
서버와 클라이언트가 1:1로 연결되는 거라서 연결 부분만 빼면 거의 동일하다고 볼 수 있다.
추후 기회가 된다면 더 업그레이드를 해볼 생각이다.
[과정]
[구조]
Phone 클래스를 중심으로 Mic, Speaker, Connect 클래스가 존재한다.
연결이 성립되면 Mic, Speaker 클래스의 스레드가 작동하여 데이터를 주고 받으면서 소리를 들려준다.
[잘 알려진 문제]
너무 많은 데이터를 전송하는것 같다. Skype와 비교를 해봤는데 거의 10배 정도의 데이터를 더 전송하는것 같다(통화 품질은 Skype보다는 좀 나은것 같지만 10배정도의 차이는 아닌 것 같다). 그룹전화를 염두해둔다면 잠재적인 문제다.
[Github]
'만든거' 카테고리의 다른 글
[개인프로젝트] Outstagram - 3 (0) | 2020.10.19 |
---|---|
[개인프로젝트] Outstagram - 2 (0) | 2020.10.13 |
[개인프로젝트] Outstagram - 1 (0) | 2020.10.11 |
[PS?] 루미큐브(Rummikub)의 경우의 수를 컴퓨터로 계산해 보자 (0) | 2020.05.16 |
[Java] 소켓을 이용한 캐치마인드 (4) | 2019.06.21 |