Knoppia

Wiki de Informática y otras historias

Herramientas de usuario

Herramientas del sitio


dad:ejercicio_protocolos

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anteriorRevisión previa
Próxima revisión
Revisión previa
dad:ejercicio_protocolos [2023/10/19 09:24] thejuanvisudad:ejercicio_protocolos [2023/11/23 11:04] (actual) thejuanvisu
Línea 9: Línea 9:
         * CRLF         * CRLF
         * Entity Body:         * Entity Body:
 +
 +Para mayor facilidad la clase se implementará como un Hilo
  
 ===== Obtener cabecera ===== ===== Obtener cabecera =====
Línea 17: Línea 19:
 Tras eso le damos a Sin Procesar y podremos ver el mensaje de petición: Tras eso le damos a Sin Procesar y podremos ver el mensaje de petición:
 {{ :dad:imagen_2023-10-19_112356857.png |}} {{ :dad:imagen_2023-10-19_112356857.png |}}
 +
 +===== Implementación =====
 +
 +<code java PeticionUniversidad.java>
 +package protocolos;
 +
 +import java.io.BufferedReader;
 +import java.io.IOException;
 +import java.io.InputStreamReader;
 +import java.io.OutputStreamWriter;
 +import java.io.PrintWriter;
 +import java.net.Socket;
 +
 +public class PeticionUniversidad extends Thread{
 +
 + private BufferedReader br = null;
 +
 + public PeticionUniversidad(BufferedReader br) {//Constructor de lcase
 + this.br = br;
 + }
 +
 + public void run() {//Acción a realizar por el thread
 + String linea = "";
 + try {
 + while((linea = br.readLine())!=null) {
 + System.out.println(linea);
 + }
 + }catch(IOException e) {
 + System.out.println("Error de salida");
 + e.printStackTrace();
 + }
 + }
 +
 + public static void main(String[] args) {
 +
 + try {
 + Socket socket = new Socket("www.ucam.edu", 80 );//conectamos con un socket a la web
 + System.out.println("[OK]");
 +
 + //Implementamos buffers:
 + BufferedReader br = new BufferedReader(new InputStreamReader(socket.getInputStream()));
 + PrintWriter pw = new PrintWriter(new OutputStreamWriter(socket.getOutputStream()));
 +
 + PeticionUniversidad cliente = new PeticionUniversidad(br);//Instanciamos la clase
 + cliente.start();//Iniciamos el Thread
 +
 +
 + //A continuación implementamos el mensaje de solicitud:
 + pw.println("GET / HTTP/1.1"); pw.flush();
 + pw.println("Host: www.ucam.edu");pw.flush();
 + pw.println("Connection: close");pw.flush();
 + pw.println();pw.flush();
 +
 + //Nos va a devolver un Error 301
 +
 + }catch (IOException e) {
 + System.out.println("Error en el Main");
 + e.printStackTrace();
 + }
 +
 +
 +
 +
 +
 +
 + }
 +}
 +
 +
 +</code>
 +
 +===== Salida que Obtendremos =====
 +{{ :dad:imagen_2023-10-19_115432686.png |}}
 +
dad/ejercicio_protocolos.1697707489.txt.gz · Última modificación: 2023/10/19 09:24 por thejuanvisu