This interface defines the capabilities that a datagram connection
must have.
Reminder: Since the CLDC Specification does not define any
actual network protocol implementations, the syntax for
datagram addressing is not defined in the CLDC Specification.
Rather, syntax definition takes place at the level of J2ME
profiles such as MIDP.
In the sample implementation that is provided as part of the
CLDC reference implementation, the following addressing scheme
is used:
The parameter string describing the target of a connection
in the CLDC reference implementation takes the following form:
{protocol}://[{host}]:[{port}]
A datagram connection can be opened in a "client" mode or "server" mode.
If the "//{host}" part is missing then the connection is opened as
a "server" (by "server", we mean that a client application initiates
communication). When the "//{host}" part is specified, the connection
is opened as a "client".
Examples:
A datagram connection for accepting datagrams
datagram://:1234
A datagram connection for sending to a server:
datagram://123.456.789.12:1234
Note that the port number in "server mode" (unspecified host name) is
that of the receiving port. The port number in "client mode" (host name
specified) is that of the target port. The reply-to port in both cases
is never unspecified. In "server mode", the same port number is used for
both receiving and sending. In "client mode", the reply-to port is
always dynamically allocated.
Also note that the allocation of datagram objects is done in a
more abstract way than in Java 2 Standard Edition (J2SE).
Instead of providing a concrete DatagramPacket class,
an abstract Datagram interface is provided. This
is to allow a single platform to support several different datagram
interfaces simultaneously. Datagram objects must be allocated by
calling the newDatagram methods of the
DatagramConnection object.
The resulting object is defined using another interface type
called javax.microedition.io.Datagram . |