Está en la página 1de 4

Universidad Autónoma Juan Misael Saracho”

Ing. Informática

0p. Matemáticas

Estudiante: Paula Talía Flores Garnica


Materia: Programación en Red Fecha: 26/10/2021
TEMA: Sockets en Java

Codigo: Servidor
package lab;

import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.*;
import java.util.Scanner;

public class Servidor {

static final int puerto = 6000;


public Servidor() {

int totalMujeres =0, totalVarones=0, TotalMayoresdeEdad=0, TotalMenoresdeEdad=0;

try {

ServerSocket socketServidor = new ServerSocket(puerto);


System.out.println("Escucho por el puerto: "+ puerto);
for (int numCliente = 1; numCliente < 50; numCliente++) {
Socket socketCliente = socketServidor.accept();
OutputStream salida = socketCliente.getOutputStream();
InputStream entrada = socketCliente.getInputStream();
DataOutputStream datosSalida = new DataOutputStream(salida);
DataInputStream datosEntrada = new DataInputStream(entrada);
System.out.println("Servidor atiende a cliente "+numCliente+"\n con IP : "+datosEntrada.readUTF());

String nombre = datosEntrada.readUTF();


int n1 = datosEntrada.readInt();
int n2 = datosEntrada.readInt();

int suma=n1+n2;
double resta=n1-n2;
int por=n1*n2;
double div=n1/n2;

if (n1>n2) {
div=n1/n2;
}else {
div=n2/n1;
}

System.out.println("Resultados del cliente: "+nombre);


datosSalida.writeUTF(">> Resultados << \n La Suma de : "+ n1+" + "+n2+" es:\n "+suma+"\n "
+ "La Resta de : "+ n1+" - "+n2+" es: \n "+resta+"\n La
Multiplicacion de : "+ n1+" * "+n2+" es: \n "+por+""+ "\n La Divicion de : "+ n1+" / "+n2+" es: \n "+div
+"\n \n Gracias cliente: "+ nombre);
socketCliente.close();

} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public static void main(String[] args) {
Servidor servidor = new Servidor();
}
}
Codigo: Cliente
package lab;
import java.util.Scanner;
import java.io.*;
import java.net.InetAddress;
import java.net.Socket;

public class Cliente {

static final String host = "localhost";//ip servidor


static final int puerto = 6000;
public Cliente () {
try {
Scanner teclado = new Scanner(System.in);
Socket socketCliente = new Socket(host, puerto);
InputStream entrada = socketCliente.getInputStream();//obtener el flujo de entrada
OutputStream salida = socketCliente.getOutputStream();
DataOutputStream datosSalida = new DataOutputStream(salida);
DataInputStream datosEntrada = new DataInputStream(entrada); //es un archivo secuencial de datos
String IPcliente= InetAddress.getLocalHost().toString();//capturamos la ip de e
datosSalida.writeUTF(IPcliente);

//int id = teclado.nextInt();
//datosSalida.writeInt(id);
//System.out.println(datosEntrada.readUTF());// Lee los datos del archivo datosEntrada

int n1,n2;

System.out.println ("Nombre :");

String nombre;
nombre = teclado.next();

System.out.println ("Ingrese el primer valor :");


n1 = teclado.nextInt();
System.out.println ("Ingrese el segundo valor :");
n2 = teclado.nextInt();

datosSalida.writeUTF(nombre);

datosSalida.writeInt(n1);
datosSalida.writeInt(n2);

System.out.println(datosEntrada.readUTF());
socketCliente.close();

} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public static void main(String[] args) {
Cliente servidor = new Cliente();
}
}

Cliente

Servidor

También podría gustarte