안드로이드 개발 질문/답변
(글 수 45,052)
안녕하세요.. 이번에 간단한 메시지 전송 어플을 만들려고 하는 초보개발자 입니다
돛단배 어플처럼 랜덤하게 메시지를 전송하려고 합니다.
현재 진행상황이 EditText에 있는 메시지와 토큰값을 전송해여 mysql에 저장하는 것 까지는 했는데 서버(개인PC)에서 시뮬레이터로의 전송이 되지않네요(PUSH). 그리고 mysql에 토큰값과 메시지를 저장해서 랜덤으로 날려주려고 생각했었는데 구글앱엔진(이게 클라우드 기반으로 서버를 제공해 준다는 것인지 뭔지-_-..) 이라는것이 뭔지도 모르겠고 으.. 너무 복잡합니다.
C2DM, 구글앱엔진, msql, 어플 완성 시 DB관리 서버 이 관계에 대해서 간략하게나마 설명좀 해주시면 안될까요.. 너무 답답해서 미치겠습니다. 키워드라도 몇개 제공해주시면 감사하겠습니다 ㅠㅠ
마지막으로... 시뮬레이터를 사용하면 push 데이터가 시뮬레이터로 날라오지 못하나요??




시뮬레이터라고 적으신게 에뮬레이터를 말씀하시는 거겠지요?
물론 에뮬레이터에서도 C2DM을 테스트 할 수 있습니다. 다만 적절한 세팅이 필요합니다.
https://groups.google.com/d/msg/android-c2dm/_J-OuK6Ls4I/YCCd2h3u_QcJ 이 글을 참고하시면 도움이 될까 합니다.
개인적으로는 메시징 앱에서 기본적으로 SQL을 사용해야 하는지 의문입니다. 특별한 목적이 있어서 메시지를 전부 저장해야 한다면 그것도 괜찮겠지만, 주고 받은 메시지는 전송이 끝난 뒤에서 휘발시켜버려도 되지 않을까 하는 생각을 하고 있습니다.
제 생각에는 memcache에 우선 저장해서 바로 전송해버리고, 1차 전송 실패하는 경우에만 재전송을 위해서 SQL 등에 저장해두는 것이 시스템 로드 면에서 더 좋지 않을까 생각합니다.
구글 앱 엔진은 말씀하신 것 처럼 구글의 메인프레임을 가상화해서 제공하는 앱서버 입니다. 파이썬, 자바, Go 세 언어를 지원하고 제공되는 SDK를 사용해서 서버 프로그램을 작성해 업로드하면 가상화된 서버를 실행해 주는 역활을 하지요. 구글의 가상화 때문에 좀 제약이 있지만 (port는 사용할 수 없고 모든 통신은 http를 사용해서 해야 하고 연결 시간에 제한이 있는 등) 일단은 한정된 트래픽과 처리용량에 대해 무료로 시작할 수 있어서 테스트 용도로 활용하기 좋습니다.(예전엔 유료로 용량을 늘려서 사용해도 꽤 저렴한 편이었는데, 정식 서비스로 승격되면서 많이 비싸졌습니다.ㅜㅠ)