이 기능을 구현하는 가장 좋은 방법은 무엇입니까? 파이썬 서버를 사용하여 라운드에서 2 대의 전화 사이의 통신을 허용하는 Android 앱이 있습니다. 라운드는 라운드가 시작될 때까지 서로 이야기 할 수 없다는 것을 의미하며, 일단 상대방이 응답 할 때까지 다른 사람을 보낼 수없는 메시지를 보내면 새로운 라운드가 시작됩니다.IntentService, Service 또는 AsyncTask
나는 IntentService를 사용할 것이라고 생각했지만 서버를 끊임없이 시작하고 멈추는 것은 잘못된 것처럼 보였고 asynctask와 관련된 문제에 대해 걱정할 필요가 없거나 그것을 처리하는 가장 좋은 방법이다. . 어떻게하면 클라이언트에게 메시지를 보내고 받아야하는 서비스를 가질 수 있습니까?
틀렸어 : * 서비스는 다른 응용 프로그램 개체와 마찬가지로 호스팅 프로세스의 주 스레드에서 실행됩니다. 즉, 서비스가 CPU 집중적 인 작업 (예 : MP3 재생) 또는 차단 (예 : 네트워킹) 작업을 수행하는 경우 해당 작업을 수행 할 자체 스레드를 생성해야합니다. * 서비스가 스레드가 아닙니다. 주 스레드에서 작업을 수행하는 것은 자체가 아닙니다 (응용 프로그램이 응답하지 않는 오류를 방지하기 위해). 멀티 스레딩이 필요한 경우에만 그렇습니다. – roiberg
IntentService는 메인 스레드 인 @roiberg의 처리를 처리하기 위해 AsyncTask를 사용합니다. – lilbyrdie
@roiberg 수정하십시오. 서비스는 메인 스레드에서 작동합니다. 이 대답을보다 명확히하기 위해 서비스는 멀티 스레딩 (스레드 풀) 또는 백그라운드에서 매우 오랫동안 일련 화 된 실행자/처리기 스레드를 유지하는 데 유용합니다. – manjusg