Back Tabla de contenidos
Next
Capitulo 4_5: Soporte para red en CLDC

Las librerias para red (networking), I/O y almacenamiento del Standard J2SE son demasiado grandes para los dispositivos CLDC: más de 100 clases y un tamaño estático de los ficheros de clases de más de 200 kilobytes. Así que CLDC introduce un nuevo marco de trabajo que incluye 6 básicos tipos de interfaces:

Ejemplos de conexiones:

Formato general
 
Connector.open("<protocol>:<path>:<parameters>");

HTTP
 
Connector.open("http://www.codecamps.com");

Sockets
 
Connector.open("socket://129.144.111.222:9000");

Serial ports
 
Connector.open("comm:0;baudrate=9600");

Files
 
Connector.open("file:codecamps.dat");

Jerarquia de la clase Connection
class                                                            methods
Connection  public void close() throws IOException;
InputConnection  public InputStream openInputstream() throws IOException;
public DataInputStream openDataInputStream() throws IOException;
OutputConnection public OutputStream openOutputstream() throws IOException;
public DataOutputStream openDataOutputStream() throws IOException;
StreamConnection Combinación de Input y OutputConnections
ContentConnection public String getType();
public String getEncoding();
public String getLength();
StreamConnectionNotifier public StreamConnection acceptAndOpen() throws IOException;
DatagramConnection public String getAddress();
public int getMaximumLength();
public int getNominalLength();
public void setTimeout(int time);
public void send(Datagram datagram);
public void receive(Datagram datagram);
public Datagram newDatagram(int size);
public Datagram newDatagram(byte[] buf, int size);
public Datagram newDatagram(buf, int size, String addr);

Ejemplo de conexión

import java.io;
import javax.microedition.io.*;
public class GenConnection {
    public static void main(String[] args) {
        InputStream in = null;
        OutputStream out = null;
        int count = 0;
        int total = 0;
        StreamConnection con = null;
        byte[] b = new byte[64];
        try {
            in = Connector.openInputStream("testhttp://sraju:8080/hello.txt");
            while((count = in.read(b,0,64)) > 0)
                total += count;
        } catch (Exception e1) { // Catch FileIOException
            try {
                    in.close();
            } catch (Exception e2) { System.out.println("Error"); }
           }
    System.out.println("Numero de caracteres leidos: " + total);
    System.out.println("leido de hello.txt: " + new String(b));
}
 
 
Top Back Tabla de contenidos