javax.microedition.io
Interface UDPDatagramConnection

All Superinterfaces:
Connection, DatagramConnection
All Known Implementing Classes:
DatagramConnectionBase

public interface UDPDatagramConnection
extends DatagramConnection

This interface defines a datagram connection which knows it's local end point address. The protocol is transaction oriented, and delivery and duplicate protection are not guaranteed. Applications requiring ordered reliable delivery of streams of data should use the SocketConnection.

A UDPDatagramConnection is returned from Connector.open() in response to a request to open a datagram:// URL connection string. If the connection string omits both the host and port fields in the URL string, then the system will allocate an available port. The local address and the local port can be discovered using the accessor methods within this interface.

The syntax described here for the datagram URL connection string is also valid for the Datagram.setAddress() method used to assign a destination address to a Datagram to be sent. e.g., datagram://host:port

Blocking Operations

This interface performs blocking Input and Output operations. An application will lock if an implementation of this interface opens a connection from within the main event thread. Prevent an application from locking by opening a connection from within a thread that is separate from the main event thread. SeeConnector for more information.

BNF Format for Connector.open() string

The URI must conform to the BNF syntax specified below. If the URI does not conform to this syntax, an IllegalArgumentException is thrown.

<datagram_connection_string> ::= "datagram://" | "datagram://"<hostport>
<hostport> ::= host ":" port
<host> ::= host name or IP address (omitted for inbound connections)
<port> ::= numeric port number (omitted for system assigned port)

Since:
MIDP 2.0

Method Summary
 String getLocalAddress()
          Gets the local address to which the datagram connection is bound.
 int getLocalPort()
          Returns the local port to which this datagram connection is bound.
 
Methods inherited from interface javax.microedition.io.DatagramConnection
getMaximumLength, getNominalLength, newDatagram, newDatagram, newDatagram, newDatagram, receive, send
 
Methods inherited from interface javax.microedition.io.Connection
close
 

Method Detail

getLocalAddress

public String getLocalAddress()
                       throws IOException
Gets the local address to which the datagram connection is bound.

The host address(IP number) that can be used to connect to this end of the datagram connection from an external system. Since IP addresses may be dynamically assigned, a remote application will need to be robust in the face of IP number reassignment.

The local hostname (if available) can be accessed from System.getProperty("microedition.hostname")

Returns:
the local address to which the datagram connection is bound.
Throws:
IOException - if the connection was closed.
Since:
JDE 4.0.0
See Also:
ServerSocketConnection

getLocalPort

public int getLocalPort()
                 throws IOException
Returns the local port to which this datagram connection is bound.
Returns:
the local port number to which this datagram connection is connected.
Throws:
IOException - if the connection was closed.
Since:
JDE 4.0.0
See Also:
ServerSocketConnection



Copyright 1999-2009 Research In Motion Limited. 295 Phillip Street, Waterloo, Ontario, Canada, N2L 3W8. All Rights Reserved.
Copyright 1993-2003 Sun Microsystems, Inc. 901 San Antonio Road, Palo Alto, California, 94303, U.S.A.
Copyright 2002-2003 Nokia Corporation All Rights Reserved.
Java is a trademark or registered trademark of Sun Microsystems, Inc. in the US and other countries.