안녕하세요 
안드로이드로 현재 소켓통신을 공부하고 있는 학생입니다.
여래저래 찾아가며 개밣하고있는데 잘안되서 질문드립니다.

일단 현재 개발하고있는 정도랑 문제점에 대해 말씀드리겠습니다 ㅠ
결론적으로는 데스크톱에서 서버 돌리고 안드로이드 단말을 클라이언트로 채팅프로그램을 작성 하고있습니다.
문제는 액티비트를 전환해도 각 화면에서 커넥션을 유지하고 통신할필요가 있었습니다.

그래서 소켓을  싱글톤 패턴으로 클래스를 하나만들고
소켓을 관리해주는 클레스은를 만들어 액티비티에서는 소켓을 관리해주는 클래스를 만들어
소켓을 이용하고 소켓관리클레스에서는 생성시 인자로 핸들러도 받아 처리를 해주었습니다.

관리 클래스에서 스트림이랑 생성해서 쓰래드 돌려 매번 데이터가 오면 받고 거기에 등록된 핸들러로 보내주게 했습니다.

첫번째나 오는 액티비티의 핸들러에서 두번째 액티비티를 불러주게 했습니다.
그리고 돌고있는 쓰래드를 죽이기위해 불리언 변수를 두고 false로 바꿔주는 식으로 했습니다.

두번째 액티비티에서 데이터를 받기위해 앞에서와 같이 소켓관리클래스르 생성해
이벤트를 처리하는데 ㅠ

데이터가 오면 처음 액티비티의 핸들러에 해놓은 액티비티 호출이 계속 실행됩니다.

쓰래드가 안죽은건지.. 어떻게 해야할지 다소 막막합니다 ㅠ

어떻게 해야되는지 조언부탁드립니다.