마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

안드로이드 socket.io를 이용해서 실제 서비스하는 채팅어플 구현해보신분께 조언구합니다 ㅠ

0 추천

현재 socket.io라이브러리를 이용하여 안드로이드에서 채팅을 구현하려고하고있습니다.

 

 

 

https://socket.io/blog/native-socket-io-and-android/

 

 

 

https://dev-juyoung.github.io/2017/09/05/android-socket-io/#Socket-%EC%97%B0%EA%B2%B0

 

를 참고하고있습니다.

 

 

 

 

 

 

위 사진은 '채팅방리스트화면'입니다 .

'채팅방리스트화면'과 '채팅중화면' 을 구현해야하는데

현재 시나리오는 다음과같습니다.

 

 

 

 

 

1. '채팅방리스트화면'일때는 소켓은 다 disconnected 되있는상태이고 '채팅중화면'일때만 특정socket에 connected 되있는상태입니다.

 

소켓이 언제 connected되있어야되는지 계속생각해봤는데 대규모 채팅어플의경우 채팅방리스트가 여러개있을텐데 그것들이 다 connect되있진 않을것같습니다.그러니까 '채팅방리스트화면'에서 한 채팅방을 클릭하여 '채팅중화면' 뜰때 소켓은 connect됩니다.

 

이 말이 맞는말일까요...?

 

 

 

2.'채팅중화면'을 열때 카카오톡의 경우는 예전에 한 채팅도 보여지지만 현재 제가 참고하는 자료에는 '채팅중화면'에서 나갔다 들어오는경우

 

기존 대화목록은 보여지지않습니다. 이 경우 안드로이드 sqlite를 사용하려고하는데 채팅으로오는(소켓connect된상태) msg와 fcm에서 푸시로오는 메세지들을 다 sqlite에 저장합니다 그리고 저는 특정 채팅방에 들어갈경우 그 채팅방의 sqlite를 뒤져서 목록을 가져옵니다.이렇게 하면 기존 대화내용들을 계속볼수있습니다.

 

이 시나리오의 경우 fcm으로 푸시 오는것도 sqlite에 다 넣습니다. 그리고 사용자는 채팅에 들어올때 1번채팅방에 들어올경우 1번채팅방db를 뒤져서 대화내용을 꺼내옵니다 2번일경우 2번채팅방

 

fcm 으로 오는것과, 소켓연결되어있을때 오는 메세지를 sqlite에 넣어서 대화내역을 본다  

 

 

 

파이어베이스채팅같은경우는 채팅방들어갈때마다 파이어베이스에서 받아오게하는것같은데 (확실하진않습니다..)서버에서 채팅내역을 다 떨궈주는게 맞나요??

 

 

 

 

 

sqlite와 fcm 맞는선택인가요?? 아직 fcm과 sqlite를 안써봐서 시나리오만짜봤는데... 이대로 구현하면될지 ....

 

구글에도 socket.io sqlite라고 검색해도 많은자료가없어서 아닌것같기도하고 

 

기존 채팅들이어떻게되어있는지궁금합니다 ㅠ

끼모 (120 포인트) 님이 2018년 2월 22일 질문

답변 달기

· 글에 소스 코드 보기 좋게 넣는 법
· 질문에 대해 추가적인 질문이나 의견이 있으면 답변이 아니라 댓글로 달아주시기 바랍니다.
표시할 이름 (옵션):
개인정보: 당신의 이메일은 이 알림을 보내는데만 사용됩니다.
스팸 차단 검사:
스팸 검사를 다시 받지 않으려면 로그인하거나 혹은 가입 하세요.
...