Sockets

Páginas: 5 (1186 palabras) Publicado: 5 de noviembre de 2013
UNIVERSIDAD SANTO TOMÁS
Facultad de Ingeniería de Sistemas
Redes I
Laboratorio 4. Sockets
Ing. Luz Santamaría Granados
Objetivo: establecer la conexión de dos equipos a través del cable crossover con la
configuración de aplicaciones java en red.
Metodología: consulte el libro de “Deitel y Deitel. Como programar en java”
I. Conexión con un servidor Web
En el siguiente ejercicio se debeverificar el uso de las clases: URL, dataInputStream e
InputStrem (ver Figura 1):

Figura 1 Modelo cliente/servidor

Fuente: Tomado de1

- Cuando los clientes solicitan a un servidor Web la lectura e impresión del contenido de
un archivo (.txt), es necesario obtener la ruta del archivo alojado en el servidor:
rutaArchivo = new URL("http://localhost/archivo.txt");
- El cliente necesitarecibir los datos del servidor y hace uso de la clase InputStream para
recibir las cadenas, y la clase DataInputStream para permitir leer el archivo.
entrada = this.rutaArchivo.openStream();
this.dataEntrada = new DataInputStream (entrada);

1

Fundamentos de sockets. En: http://www.dlsi.ua.es/asignaturas/sid/JSockets.pdf

1

UNIVERSIDAD SANTO TOMÁS
Facultad de Ingeniería de SistemasRedes I
Laboratorio 4. Sockets
Ing. Luz Santamaría Granados
1. Establezca la conexión cliente/servidor entre dos equipos con las direcciones IP
indicadas en clase.
2. Pruebe la conexión
3. En netbeans realice un programa que permita a un cliente conectarse con un servidor
Web Apache para leer y mostrar el contenido de un archivo .txt.

Figura 2 Conexión a un servidor Web para obtenerdatos

2

UNIVERSIDAD SANTO TOMÁS
Facultad de Ingeniería de Sistemas
Redes I
Laboratorio 4. Sockets
Ing. Luz Santamaría Granados
- Cree en java una clase “ServerArchivo”
public class ServerArchivo extends Applet {
URL rutaArchivo;
// almacena la ruta del archivo .txt en el servidor Web
TextArea contenido; // Muestra el contenido del archivo .txt
InputStream entrada; // Cadena deentrada del archivo
DataInputStream dataEntrada; // Permite leer el archivo .txt
public ServerArchivo() throws HeadlessException {
this.contenido = new TextArea("Espererando
....", 10, 40);
}

conexión

con

el

servidor

public void init() {
// TODO start asynchronous download of heavy resources
add(contenido);
this.setSize(400, 200);
try {
rutaArchivo = newURL("http://localhost/archivo.txt");
System.out.println("La ruta del servidor es: " + rutaArchivo);
}
catch(MalformedURLException e){}
}
public void start(){
String texto;
// almacena cada línea del archivo
try{
this.entrada = this.rutaArchivo.openStream();
// obtiene o abre el flujo de datos del archivo
this.contenido.setText("El contenido del archivo es \n");
this.dataEntrada = new DataInputStream(entrada);
//ciclo mientras para recorrer el archivo y mostrarlo línea por línea
while ( (texto = this.dataEntrada.readLine()) != null ){
this.contenido.append(texto + "\n");
}
this.dataEntrada.close();
}
catch (IOException mensaje){
}
}
}

3

UNIVERSIDAD SANTO TOMÁS
Facultad de Ingeniería de Sistemas
Redes I
Laboratorio 4. Sockets
Ing. Luz Santamaría Granados
II. Aplicaciones consockets
En una conexión cliente/servidor (ver Figura 3) es necesario definir los siguientes
parámetros:

Figura 3 Conexión de un servidor y un cliente

Fuente: Tomado de2

El servidor define el puerto y tiempo de espera para que el cliente establezca la conexión.
servidor = new ServerSocket(5000,100); // Puerto 5000, tiempo de espera
En el momento que el cliente solicite una conexión, elservidor abrirá la conexión socket
con el método accept().
conexion = servidor.accept();

// Acepta conexiones

El cliente establece una conexión con el servidor o host a través del número de puerto:
cliente = new Socket(InetAddress.getLocalHost(),5000); // IP y puerto
El cliente y el servidor se comunican con las clases InputStream y OutputStream para
recibir y transmitir los datos...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • sockets
  • sockets
  • Sockets
  • Sockets
  • Sockets
  • Comunicacion entre sOCKETS
  • Sockets de windows
  • Sockets en Pytho1

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS