[프로젝트, 3학년] Piano Random Chat

류명운

·

2015. 12. 25. 18:05

반응형

프로젝트명

 Piano Random Chat

개 발 언 어

 Java

Database


개 발 도 구

 Eclipse Luna

라이브러리

 

프로젝트 기간

 2014.6.11 ~ 2014.6.14

프로젝트 종류

 개인 프로젝트

개 발 종 류

 동일 네트워크 피아노 랜덤 콘솔채팅 프로그램

담 당

 프로그램 개발

프로그램 요약


 <개발 목적>

평소 랜덤 채팅을 즐기는 유저로써 '와이파이 랜덤채팅'이라는 앱을 기획하고 싶어 안드로이드 개발언어인 자바언어로 콘솔 랜덤채팅을 개발해보았다. 또한, 이와 별개로 여러 부가 기능을 추가하였다.


 <기능 및 특징>

 * 동일 네트워크 1:1 랜덤 매칭

  : 서버에 접속하는 클라이언트들의 IP를 확인하여 IP의 마지막 부분을 0으로 변경한 후 서로 같은 IP를 가지는 클라이언트들끼리 순차적으로 1:1 채팅방을 개설하여 매칭해주었다.


 * 배경음악 및 수신알림음

  : JDK 1.5 버전 이상에서 제공하는 Process 라이브러리를 사용하여 프로그램에 첨부된 배경음과 효과음을 출력해주었다.


 * 비프음을 통한 피아노 채팅

  : 자바에서는 비프음을 출력해주는 라이브러리가 존재하지 않아 C에서 제공하는 비프음 라이브러리를 파싱해서 출력해주었다.


 * 문자열 비교를 통한 타자게임

  : 자바에서 제공하는 문자열 함수들을 사용하여 프로토콜을 정의하고 이에 따라 사용자가 즐길 수 있는 간단한 타자게임을 구현하였다.


 * 클라이언트 단에서의 메시지 암/복호화

  : AES 암/복호화 라이브러리를 이용해 클라이언트 단에서 암/복호화가 가능한 프로토콜을 정의하였다.


주 요 화 면

및 전체구조

 



주요 소스코드

(1/5)


동일 네트워크

1:1 랜덤 매칭




주요 소스코드

(2/5)


배경음악 및

수신알림음



주요 소스코드

(3/5)


비프음을 통한

피아노 채팅



주요 소스코드

(4/5)


문자열 비교를

통한 타자게임


주요 소스코드

(5/5)


메시지

암/복호화




반응형