Protocols for Push Functionality

Some protocols are better suited to push technology than others. For example, short message service (SMS) is a store-and-forward protocol. A service center stores messages until they are fetched by the device. The device typically has a small inbox (cache of messages). If its inbox is full, a device's messages stay on the server. By contrast, datagram and socket are protocols that require that their messages be accepted immediately. There is a better chance that the message will get to the phone with the SMS protocol.

MIDP Implementors

Consider: Decide which network protocols you will make available for push apps on the device. Even if your device supports a protocol that accepts messages (for example, server sockets), you do not have to use that protocol to launch a MIDlet.

app Developers

Consider: The network protocols available for push technology depend on the vendors. For example, some vendors support SMS while others might not. Similarly, some support socket connections but not datagrams, while others support datagrams but not sockets. Network protocols, or their cost, might also depend on the user's location. Some vendors might change which network services are available to users, or their pricing, when users are roaming (out of their local coverage area).

Contact the network operators for which you will be writing your MIDlet for details about the protocols they support for push functionality. A device's choice of protocol also affects how an entity pushing a message addresses a device. With Internet Protocols (IP), most devices use the Dynamic Host Configuration Protocol (DHCP). Every time the user turns on the device, the device is assigned a new address. Any app that pushes a message either needs an operator's cooperation to get a message to the device (because the operator knows the IP address that the device is currently assigned) or the app has to register with entities that might push it data any time it gets a new IP address. In contrast, SMS messages use a well-known address to get a message to its recipient.

Recommend: Java graphics bulb2_icon.gif If you are not developing apps with a particular operator's cooperation, and are using an IP-based protocol, create a subscription mechanism for your app. Have the MIDlet register every time the user starts the device so that you can contact it when you need to push it data.