본문 바로가기
프로그래밍/DB/JAVA/안드로이드/GAE

[안드로이드] XMPP서버를 이용한 채팅앱 개발(그룹 및 단체)

by 아유카와 2014. 6. 30.

   기존의 배심원단 앱에 단체 채팅방을 만들어 달라는 요구가 있어 추가 하기 위해 3-4일 정도 정보 습득한 내용을 포스팅 해보고자 한다. 아래와 같이 먼저 익명 단체 채팅방으로 완성이 되었다. 


* 사용된 기술

  - 사용된 서버 : 리눅스에 XMPP 서버 OPENFIRE 서버를 사용 하였다.

  - 사용된 클라이언트 : SMACK을 베이스로 한 ASMACK 라이브러리를 사용 하였다.


* XMPP 관련

  - 기본적으로 XMPP는 채팅용 통신 규약이라고 생각하면 된다. 

  - OPENFIRE 다운로드

  - 이해를 돕기 위한 설명은 이쪽 링크를 참고 바란다.


* SMACK 및 ASMACK

  - 관련된 라이브러리 예제는 구글을 검색해보면 많이 나온다. 본인도 그리하여 개발하였으니 이글을 보시는 분들도 쉽게 따라하며 개발 할 수 있으리라 생각한다. 

  - ASMACK는 SMACK를 베이스로 한 안드로이드용으로 라이브러리라 생각하면 된다.

  - SMACK GitHub LINK( https://github.com/igniterealtime/Smack )

  - Smack Documentation ( http://www.igniterealtime.org/builds/smack/docs/latest/documentation/ )

  - SMACK 관련 API

  - ASMACK GitHub LINK ( https://github.com/Flowdalic/asmack )

  - ASMACK 버전별 다운로드 ( http://asmack.freakempire.de/?C=D;O=A ) 

  - SmackAPI 간단 정리


* 관련 예제

  - 예제1( http://developer.samsung.com/android/technical-docs/Building-a-Chat-Application )

  - 예제2( http://vidorsolutions.blogspot.kr/2011/01/writing-xmppjabber-chat-application-for.html )

  - 예제3( http://davanum.wordpress.com/2007/12/31/android-just-use-smack-api-for-xmpp/ )

  - 예제4( http://nhachicha.wordpress.com/2012/03/14/xmpp-client-with-android/ )

  - 예제5( http://davanum.wordpress.com/2007/12/31/android-just-use-smack-api-for-xmpp/ )


* 관련 StackOverFlow

  - How to get IQ tag using smack Java?

  - How to handle add request in smack API

  - https://igniterealtime.jiveon.com/thread/48245 openfire 서버 db 이슈


* 그외 도움이 될만한 것

  - 메신져 관련 개발에 대한 링크 모음http://reddolphin.tistory.com/100 )