안드로이드 앱어플에서 간단한 매신저 기능을 구현하려 하는데요

음 서버단에서 보통

while(true){
    //접속자 리스트를 Vector등으로 관리하고 메시지가 들어오면 이를 접속해잇는 사람들에게 뿌리기
}

같이 구현을 하는데요 이게 일반적인 네이트메신저 처럼 사용자가 아래 같이

A라는 사람
친구1
친구2
---------
B라는 사람
친구3
친구4


이런경우 6명 모두 접속 되 있어도 A는 친구1 친구2에게만 B는 친구3 친구4에게만 이렇게 그룹으로

묵어저서 제한적으로 메시지가 보내지고 체팅이 되야하자나요

근데 클라이언트에서 서버 접속 정보가 같으면 메시지가 다 주고받아지고 할것 같은데 메신저 처럼 자기

친구들에게만 나눠져서 관리 되는 부분을 while(true){}안에서 if else 등으로 보통 처리하나요?

예를들어 서버로 메시지 보낸 사람의 아이디로 친구리스트를 뽑아와서 해당 친구들에게만 전송 이런식인지..

아니면 다른 방법으로 관리가되는건가요



그리고 친구리스트 가져올때 경우에도.. 닉네임이랑 비트맵이미지 등 여러 정보를 받아와야하는데요

이런 경우 객체 직렬화로 HashTable 같은데 정보를 한번에 다 담아 보내서 클라이언트에서 객체를 받아서

사용하는데 큰 문제 없을까요 단순 스트링만 주고받아봐서 ㅎ..

서버 클라이언트 전부 자바로 되어있구요

부탁드립니다.