Note that there are some explanatory texts on larger screens.

plurals
  1. POGAE two way communication with client (Channel API alternative for Java / iOS clients, or perhaps XMPP)?
    primarykey
    data
    text
    <p>I'd like to implement <strong>two way communication</strong> between a cross platform mobile client (Android, PC - written in <strong>Java</strong> and iOS written in <strong>Objective-C</strong>) and my Google AppEngine (<strong>Java</strong>) server. It should:</p> <ol> <li>Allow each side to initiate the communication (after the client connects).</li> <li>Have relatively <strong>short latency</strong> (polling every X seconds is problematic, and to my understanding, since it's on AppEngine, long polling an http request is not an option). </li> <li>Support messages that are <strong>at most few KB of text</strong>, and usually much smaller.</li> </ol> <p>I have considered using the Channel API with some reverse engineered Java client, but this seems like taking a chance (since it isn't officially supported). Also, I'm not even sure there is a solution for Objective-C, and I prefer not to dive in and implement it myself.</p> <p>I then considered using XMPP. However, I'm not sure how this is possible without having my users enter a Jabber account, which I cannot (the communication is in the background). Is there a way to create a temporary user for my client?</p> <p>C2DM doesn't seem like a good option either. It's not cross platform, it seems very focused on "notification" and not communication, and makes no guarantees on the success of message transfer.</p> <p>Or perhaps there is a completely different approach I haven't thought of? This type of communication is relatively new to me.</p> <p>Thanks!</p> <p>EDIT:</p> <p>Since I'm looking for background communication, a new option came to mind: A single XMPP user, with resources as client identifiers. Meaning, I'll create a single XMPP user for my app once (something like: "AppBackgroundUser@domain.com"), and have the clients connect with their own unique ID as a resource ("AppBackgroundUser@domain.com/UNIQUEID"). Are there any drawbacks or severe security flaws to this method?</p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload