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

서버의 개념이 무엇인가요...?

0 추천
안드로이드를 하면서 서버를 구축한다는 이야기를 많이 들었는데 정확하게 안드로이드에서 서버가 왜 필요한건지 그리고 그 서버를 어떤 방식으로 구축할 수 있는지 그리고 파이어베이스와는 뭐가 다른건지 알고싶습니다
익명사용자 님이 2019년 4월 4일 질문

1개의 답변

0 추천
고객(client)이 요청한 사항에 대해  서비스 하는 객체입니다.

예를 들어 설명드리면,

손님이 호텔에 체크인 한다고 할 때, 손님은 자신의 신원 정보를 호텔직원에게 알려주고, 호텔 직원은 손님의 신원정보를 조회해서, 예약이 되어 있을 경우 고객에게 객실 키를 주고, 없을 경우 고객 정보를 등록 한 후 객실 키를 주게 됩니다.

동일한 로직을 컴퓨터 관점에서 대입하면,  손님은 클라이언트, 호텔 직원은 서버이고, 체크인은 로그인 요청, 고객 정보 등록은 사이트 가입, 객실키 주는건 서버의 응답 이라 보시면 됩니다.

 

안드로이드 자체만으로는 사용할 때는 서버가 있을 필요가 없으나,

예를 들어 게임 랭킹을 표현 하고 싶다면,  게이머의 최고 점수를 특정한 곳에 알려주고, 다른 게이머의 점수를 조회 할 수 있게 해야 하는데, 알려주고, 조회를 할 수 있는 곳이 필요합니다.

이런 정보를 관리 해서 여러 게이머들이 알 수 있게 하는 곳이 서버입니다.

 

파이어베이스는 이러한 서버의 역활을 해주는 서비스 중 하나입니다.

 

체크인 하려면,

1. 체크인을 처리 해 줄 직원이 화장실 같은데 안가고, 카운터에 있어야 하며,

2. 체크인을 처리 해 줄 호텔 직원에게 체크인 요청을 해야 하며,

3. 사우디아라비아 말 처럼 호텔 직원이 모르는 말이 아닌, 호텔 직원이 이해하는 말로 해야 합니다.

 

이와 비슷하게 서버의 경우 항상 응답을 기다리도록 기동이 되어 있는 상태에서, 고객이 서버의 주소로, 서버가 처리 할 수 있는 request를 보내야 request 에 대해 처리 할 수 있습니다.

 

간단한 서버 구축의 경우,   apache tomcat, nginx, ms iis 같은 걸 PC에 설치해서 서비스 가능한 상태를 만든 후,  php, jsp, asp 같은 언어를 통해, request을 처리 하게 구현 합니다.

단지 이 경우 PC를 항상 켜둬야 하고, 고객이 얼마나 들어올지 몰라 PC 부하도 신경써줘야해서,  업체에서 외주위탁 직원을 고용하 듯,  파이어베이스같은 걸 사용하기도 합니다.
익명사용자 님이 2019년 4월 4일 답변
...