title: Google Cloud Message or XMPP
body: <p>I have a project that requires communication between Android Clients and a Server.</p>
  
  <p>The communication flow is:</p>
  
  <ul>
  <li>Clients send their location to the server periodically (every 10s)</li>
  <li>Server is a Desktop application (C# or Java). Usually the server does its own work, but sometimes it needs to send a command to a number of specific clients (<strong>real-time is required</strong>)</li>
  </ul>
  
  <p>For the direction from clients to the server, there is no problem. But in the reverse direction, from the server to clients, I have some issues. I'm using Google cloud messaging, but I realized there is some delay or loss of commands. I also considered XMPP technique. If I use XMPP, the server and clients will become users of XMPP server (like chat users). It's quite good except the case of losing internet connection.</p>
  
  <p>Anyone, who has experience in XMPP server or/and GCM, kindly give me some recommendations.</p>