| 
 | MIDP3.0 | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
public interface ServerSocketConnection
This interface defines the server socket stream connection.
 A server socket is accessed using a generic connection string with the host
 omitted. For example, socket://:79 defines an inbound server
 socket on port 79. The host can be discovered using the
 getLocalAddress method.
 
 The acceptAndOpen() method returns a
 SocketConnection instance. In addition to the normal
 StreamConnection behavior, the SocketConnection
 supports accessing the IP end point addresses of the live connection and
 access to socket options that control the buffering and timing delays
 associated with specific application usage of the connection.
 
 Access to server socket connections may be restricted by the security policy
 of the device. Connector.open MUST check access for the
 initial server socket connection and acceptAndOpen MUST check
 before returning each new SocketConnection.
 
 A server socket can be used to dynamically select an available port by
 omitting both the host and the port parameters in the connection URL string.
 For example, socket:// defines an inbound server socket on a
 port which is allocated by the system. To discover the assigned port number
 use the getLocalPort method.
 
 The URI must conform to the BNF syntax specified below. If the URI does not
 conform to this syntax, an IllegalArgumentException is thrown.
 
| <socket_connection_string> | ::= "socket://" | "socket://"<hostport> | 
| <hostport> | ::= host ":" port | 
| <host> | ::= omitted for inbound connections, See SocketConnection | 
| <port> | ::= numeric port number (omitted for system assigned port) | 
 The following examples show how a ServerSocketConnection would
 be used to access a sample loopback program.
 
 // Create the server listening socket for port 1234
 ServerSocketConnection scn = (ServerSocketConnection)Connector.open("socket://:1234");
 // Wait for a connection.
 SocketConnection sc = (SocketConnection)scn.acceptAndOpen();
 // Set application specific hints on the socket.
 sc.setSocketOption(DELAY, 0);
 sc.setSocketOption(LINGER, 0);
 sc.setSocketOption(KEEPALIVE, 0);
 sc.setSocketOption(RCVBUF, 128);
 sc.setSocketOption(SNDBUF, 128);
 // Get the input stream of the connection.
 DataInputStream is = sc.openDataInputStream();
 // Get the output stream of the connection.
 DataOutputStream os = sc.openDataOutputStream();
 // Read the input data.
 String result = is.readUTF();
 // Echo the data back to the sender.
 os.writeUTF(result);
 // Close everything.
 is.close();
 os.close();
 sc.close();
 scn.close();
 ...
 
| Method Summary | |
|---|---|
|  java.lang.String | getLocalAddress()Gets the local address to which the socket is bound. | 
|  int | getLocalPort()Returns the local port to which this socket is bound. | 
| Methods inherited from interface javax.microedition.io.StreamConnectionNotifier | 
|---|
| acceptAndOpen | 
| Methods inherited from interface javax.microedition.io.Connection | 
|---|
| close | 
| Method Detail | 
|---|
java.lang.String getLocalAddress()
                                 throws java.io.IOException
 Gets the local address to which the socket is bound. The address MUST be
 returned in the format of the requested IP version. The required IP version
 is specified by the MIDlet with MIDlet-Required-IP-Version
 manifest attribute. If the attribute is not specified, the implementation
 MAY decide the format in which the local address is returned.
 
The host address(IP number) that can be used to connect to this end of the socket 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")
 
java.io.IOException - if the connection was closedSocketConnection
int getLocalPort()
                 throws java.io.IOException
java.io.IOException - if the connection was closedSocketConnection| 
 | MIDP3.0 | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||