Knoppia

Wiki de Informática y otras historias

Herramientas de usuario

Herramientas del sitio


dad:sockets

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:sockets [2023/10/05 10:11] thejuanvisudad:sockets [2023/11/23 11:06] (actual) thejuanvisu
Línea 3: Línea 3:
 En este caso serán 2 procesos ejecutándose simultáneamente conectados por un socket. En este caso serán 2 procesos ejecutándose simultáneamente conectados por un socket.
 {{ :dad:socket.png |}} {{ :dad:socket.png |}}
-Un socket funciona de una forma similar a la de los ficheros.+Un socket funciona de una forma similar a la de los ficheros. Para leer y escribir utilizaremos un Buffer (PrintWritter y BufferedReader)
  
 ===== Cliente ===== ===== Cliente =====
Línea 14: Línea 14:
 ===== Implementación Cliente ===== ===== Implementación Cliente =====
 {{ :dad:imagen_2023-10-05_115043040.png |}} {{ :dad:imagen_2023-10-05_115043040.png |}}
 +<code java Cliente.java>
 +package jelouda;
  
 +import java.io.BufferedReader;
 +import java.io.IOException;
 +import java.io.InputStreamReader;
 +import java.io.OutputStreamWriter;
 +import java.io.PrintWriter;
 +import java.net.ServerSocket;
 +import java.net.Socket;
 +import java.util.Scanner;
 +
 +public class Cliente {
 + public void ejecutar() {
 + try {
 +
 +
 + System.out.print("Lanzando conexión....");
 +
 + Socket socket = new Socket ("127.0.0.1", Servidor.PUERTO);//Conectamos al servidor
 +
 + System.out.println("[OK]");
 +
 +
 + BufferedReader br = new BufferedReader(new InputStreamReader(socket.getInputStream()));//Bufer de lectura
 + PrintWriter pw = new PrintWriter(new OutputStreamWriter(socket.getOutputStream()));//Buffer de escritura
 +
 + String cadenaRecibida = br.readLine();
 + System.out.println(cadenaRecibida);
 +
 + pw.println("cadena recibida" + cadenaRecibida);
 + pw.flush();
 +
 + System.out.println("Fin del Cliente");
 +
 + }catch(IOException e){
 + e.printStackTrace();
 + }
 + }
 +
 +
 +
 + public static void main(String[] args) {
 + Cliente client = new Cliente();
 + client.ejecutar();
 +
 + }
 +}
 +
 +</code>
  
  
Línea 21: Línea 70:
  
  
-<code>+<code java Servidor.java>
 package jelouda; package jelouda;
  
Línea 69: Línea 118:
 Añadimos un nuevo método al que llamaremos ejecutar infinito: Añadimos un nuevo método al que llamaremos ejecutar infinito:
 {{ :dad:imagen_2023-10-05_120946334.png |}} {{ :dad:imagen_2023-10-05_120946334.png |}}
-<code>+<code java Servidor.java>
 package jelouda; package jelouda;
  
Línea 135: Línea 184:
  public static void main(String[] args) {  public static void main(String[] args) {
  Servidor server = new Servidor();  Servidor server = new Servidor();
- server.ejecutar();+ server.ejecutarInfinito();
  }  }
 } }
Línea 144: Línea 193:
 Añadimos un nuevo método al que llamaremos ejecutar infinito: Añadimos un nuevo método al que llamaremos ejecutar infinito:
 {{ :dad:imagen_2023-10-05_120728806.png |}} {{ :dad:imagen_2023-10-05_120728806.png |}}
-<code>+<code java Cliente.java>
 package jelouda; package jelouda;
  
Línea 217: Línea 266:
  public static void main(String[] args) {  public static void main(String[] args) {
  Cliente client = new Cliente();  Cliente client = new Cliente();
- client.ejecutar();+ client.ejecutarInfinito();
  
  }   }
dad/sockets.1696500660.txt.gz · Última modificación: 2023/10/05 10:11 por thejuanvisu