안드로이드 개발 질문/답변
(글 수 45,052)
서버에서 클라이언트로 주기적으로 명령(길지 않은 문자열)을 전송하면
그에 대한 수행을 클라이언트에서 하는 프로그램을 하고싶은데요
소켓 쪽을 잘 몰라서 질문 드립니다.
1. 소켓 서버에서 클라이언트로 연결할수있는 방법이 있는지요?
2. 서버에서 클라이언트로 연결할수 잇는 방법이 없을 경우에는
클라이언트에서 서버로 소켓을 연 상태로 유지를 시켜야 할 것 같은데요
이 경우 클라이언트나 서버에 무리가 있진 않을지요?
주기적으로 서버에서 클라이언트로 명령 문자열 한줄(10자 정도?)만 전송하고,
그외의 통신은 없는 상태입니다.(명령 수행은 소켓과 관련이 없어서요 ㅎ)
답변 부탁드립니다젭라




제가 아는 수준에 답변을 드리자면...
1. 서버라는 것은 Listening을 하고 있는 것을 말하는데, 클라이언트도 Listening을 하면 서로 연결 할 수 있죠.
이건 양쪽 다 서버를 돌린다는 말이 되는거죠.
그냥 단순히 서버에서 클라이언트로 연결은 안됩니다.
2. Connection 자체만으로는 부하가 별로 없습니다. 다만 동시에 많은 요청을 처리하는 경우에 부하가 많이 걸리겠죠.
(유지하지 않더라도 동시 접속 처리는 문제가 되긴 하죠.)
그리고 Connection을 유지하는게 골치가 아픕니다.
랜선이 뽑힌다거나 하는 워낙 다양한 상황이 존재하는지라...
말씀하신 것은 Push기능을 구현하고 싶으신것 같은데, 구글에서 제공하는 C2DM이나 SK텔레콤의 스마트 푸시등을 활용해보면 어떠실런지요?