2010-03-19 2 views
2

웹 사이트에서 명령을 전송하여 활성화 할 수있는 Android 애플리케이션을 작성하고 싶습니다. 이것이 가능한가? 사실, 응용 프로그램은 전화로 실행되고 나는 HTTP를 통해 명령을 보낼 것입니다.웹 사이트에서 명령을받는 Android 앱을 작성할 수 있습니까?

+0

바로 켜기! 나는 더 나은 일을 할 것입니다. – stanlick

+0

웹 사이트가 적극적으로 응용 프로그램에 명령을 보내거나 응용 프로그램을 활성화하는 링크를 의미한다는 것을 의미합니까? 후자가 가능합니다. –

답변

-1

이것은 완전히 가능합니다. 휴대 전화에서 웹 서버를 시작하십시오. 예 : http://l00g33k.wikispaces.com/micro+HTTP+application+server

+4

이것은 많은 3G 네트워크 (공용 IP 주소 없음)에서 작동하지 않으며 웹 서버를 관리하기위한 대부분의 도구 (예 : 방화벽)없이 실제 서버에서 웹 서버를 실행하는 모든 보안 파급 효과가 있습니다. – CommonsWare

1

서버가 Android에 SMS 메시지를 보낼 수 있습니다. Android 측면에서 앱 수신은 SMS 메시지를 수신하고 적절한 명령을 실행할 수 있습니다. 서버에서 SMS를 보내는 방법에 대해 Here is a questionHere is some help에서 android에서 SMS를 사용하고 있습니다.

SMS 메시지를 앱에 비공개로 유지할 수 있는지 확실하지 않습니다. 이상적으로 사용자가 이러한 SMS 메시지를 문자 메시지로 보는 것을 원하지 않을 것입니다. Perhaps you could just delete the message as soon as it is processed.

2

응용 프로그램에서 명령을 기다리는 웹 서버에 대한 연결을 유지하도록 할 수 있습니다. 이런 종류의 기술은 실시간으로 업데이트되는 AJAXy 웹 사이트에서 자주 사용되며 "혜성"패턴 또는 "긴 폴링"이라고합니다.

기본적으로 클라이언트 (이 경우 휴대 전화의 앱)가 특정 페이지를 요청합니다. 귀하의 웹 서버 (또는 PHP 또는 귀하가 사용하고있는 것)는 미해결 메시지 나 명령이 클라이언트에 보내지는지 여부를 점검하고 그렇지 않은 경우 연결을 유지하고 클라이언트 메시지가 수신 될 때까지 대기하거나 특정 타임 아웃 때까지.

이 일에 명백한 단점 몇 가지가 있습니다

  • 웹 서버는 응용 프로그램의 사용자 당 1 개 열려있는 연결을 유지해야합니다. 서버에 따라이는 많은 사용자가있는 경우 상당히 빨리 자원을 연결할 수 있습니다
  • 귀하의 응용 프로그램은 또한 열려있는 연결을 유지해야합니다으로 지속적으로 자원을 사용하게 될

주기적으로 다시 설정 이것은 명령에 거의 실시간으로 응답해야한다고 가정합니다. 지연 될 수있는 경우 일반 폴링으로 충분합니다.

-1

이 많은 3G 네트워크를 통해 작동하지 않습니다

그 주소로 지금은 내 자신의 경적 : tooting의 비트 (없음 공용 IP 주소)

없는 일반인의 경우 액세스가 필요하면 SSH 서버에 두 개의 SSH 연결을 사용할 수 있습니다. 나는 여러 번 해봤으며 SSH 설정만큼 안전합니다.

및 일반 공용 액세스를 원하는 경우 그들에게

을 관리하는 (예를 들어, 방화벽) 대부분의 도구없이 실제 서버에서 웹 서버를 실행하는 모든 보안 파급 효과를 가지고, 당신은 할 수있다 전화에서 SSH 서버로의 SSH 연결이 하나 있습니다. SSH 서버에서 포트를 열어야하지만 다른 Perl 스크립트를 실행하여 소스 주소를 필터링하고 SSH 연결을 통해 전화로 전달할 수 있기 때문에 방화벽 관리가 필요하지 않습니다. 보기에 따라 좋거나 나쁘다는 또 다른 것이 있습니다. 활성 SSH/Android ConnectBot 연결이 필요하므로 활성 상태이고 SSH 연결을 닫을 때 해제됩니다. 나에게 이것은 보안이 강화 된 것이다.KML 파일을 Google지도의 Google 서버로 보내려면 KML 파일을 보내야합니다 (KML 파일은 Google 서버의 비밀번호가 아니라도 Google 서버의 비밀번호로 공개적으로 액세스 할 수 있어야하며 Google IP 주소로 필터링합니다.)

관련 문제