카카오톡과 비슷한 형식으로 채팅을 구현하려고 합니다.
현재 구상한 것은 아래와 같습니다.. !
GCM을 이용하지 않고
안드로이드 서비스로 tcp 소켓 하나 열어서 서버와 연결을 유지하여, 자기한테 온 메세지가 있으면
다른 포트를 열어서 메세지를 읽어 오려고 합니다.
이를 위해 서버에서 접속한 단말들의 소켓을 리스트에 저장해뒀습니다.
근데 이렇게 할 경우, 각 단말들과 접속유지 패킷을 주고받으려면 각각 소켓들에 대해서 패킷을 읽어오도록 쓰레드를 돌려야 하는데, 이렇게 생각하니 어디선가 잘못된거 같습니다. ㅠㅠㅠㅠㅠ
동시에 돌릴 수 있는 스레드수가 제한적일텐데... 유저 1명당 스레드 한개씩 돌리는건 잘못된 설계인거같습니다.
잘못된 부분 지적, 혹은 나은 방향으로의 키워드 정도 제시해 주시면 감사하겠습니다 !!!