Java - Ayuda Código Java

 
Vista:

Ayuda Código Java

Publicado por Jairo Raúl (2 intervenciones) el 21/02/2009 18:30:37
Buenas tardes,

Acudo a ustedes los expertos, para que me ayuden con lo siguiente: Tengo el código para una conexión cliente servidor donde el servidor devuelve al cliente el factorial de un número entero digitado por este(el cliente). Necesito modificar el programa de tal manera que el cliente mediante sockets TCP envia el codigo de la figura a calcular y posteriormente el servidor envia al cliente el área de la figura. Los codigos de las figuras son: 1. Triangulo, 2.Cuadrado y
3. Trapecio. El código que tengo es el siguiente:

Servidor

import java.net.*;
import java.io.*;

class servidorSocket {

private static ObjectInputStream entrada;
private static ObjectOutputStream salida;
static ServerSocket s;
static Socket s1;
public static String cadena;

public static void main( String args[] ) {

OutputStream s1out;

try {

s = new ServerSocket(12345,30000);
System.out.println("Esperando Cliente....");

while(true){

esperarConexion(); // esperar una conexión.
obtenerFlujos(); // obtener flujos de entrada y salida.

}
}catch( IOException e ) { System.out.println( e );}

}//main

static void esperarConexion() throws IOException{
s1 = s.accept();
System.out.println("Se ha conectado un cliente desde "+ s1.getInetAddress());
}

static void obtenerFlujos() throws IOException{

try{

while(true){

entrada = new ObjectInputStream(s1.getInputStream());
cadena = (String) entrada.readObject();
System.out.println("Dato Recibido = "+ cadena);
int n= Integer.parseInt(cadena);
//va enviolidacin y de la informacion

int fact = 1;
for (int i=2;i<=n;i++)
fact = fact * i;

salida = new ObjectOutputStream(s1.getOutputStream());
salida.writeObject(fact);
if ( cadena.equals("exit")){
System.out.println(" - Me han cerrado desde el cliente - ");
return;
}
}

}catch (ClassNotFoundException exc) {}

}

}//class

---------------------------------------------------------------------------------------------------------------------
Cliente

import java.net.*;
import java.io.*;

class clienteSocket {

static ObjectOutputStream salida;
static ObjectInputStream entrada;
public static void main( String args[] ) throws IOException {
int c;
Socket s = null;
InputStream sIn;
BufferedReader netIn;
InputStreamReader Istr;
BufferedReader y;
String q, cadena;

// Abrimos una conexión con la máquina local en el puerto 4321
try {
System.out.println("Conectando... ");
s = new Socket(InetAddress.getByName("127.0.0.1"),12345);
System.out.println( "Conectado a: " + s.getInetAddress().getHostName());

} catch( IOException e ) {
System.out.println( e );
}

try {

while(true){

y = new BufferedReader (new InputStreamReader(System.in));
System.out.print("cliente->" + " ");
q = y.readLine();

salida = new ObjectOutputStream(s.getOutputStream());
salida.writeObject(q);
salida.flush(); // vacíar búfer de salida para enviar información de encabezado
System.out.println("dato enviado ");

entrada = new ObjectInputStream(s.getInputStream());
cadena = (String) entrada.readObject();
System.out.println("Dato Recibido = "+ cadena);

if (q.equals("exit")){
System.out.println(" - He cerrado el envio de datos - ");
s.close();
return;
}
}
} catch( ClassNotFoundException e ) {
System.out.println( e );
}
}
}

Por su atención y colaboración, Gracias.

Cordialmente,

Jairo R. Aguirre G.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Ayuda Código Java

Publicado por kata (3 intervenciones) el 22/02/2009 00:31:11
ESTE EJERCICIO LO TENGO QUE ENTREGAR EL DIA LUNES RESUELTO PARA EL PARCIAL DE LA NOTA FINAL Y LAVERDAD LO ESTOY RESOLVIENDO PERO ESTOY UN POQUITO ENREDADA ME PUEDES AYUDAR?

Se tiene la información de los clientes de una compañía de telefonía celular. La datos conocidos para cada cliente son, número de teléfono, nombre del cliente, cantidad de llamadas y cantidad de minutos en llamadas.

Se desea generar un algoritmo que dada la información del cliente permita calcular el monto a cobrar por cada cliente afiliado a la compañía, donde el monto a cobrar por minuto consumido depende de la siguiente tabla:



Cantidad de minutos consumidos monto por minuto



Minutos < 200 150 Bs.

Minutos >= 200 y minutos <500 180 Bs.

Minutos >=500 y minutos <1000 200 Bs.

Minutos >= 1000 210 Bs.



Se desea elaborar un programa, el cual permita leer los datos de los clientes, y mostrar la siguiente información:



Para cada cliente:

1. Número de teléfono, nombre del cliente, cantidad de llamadas y cantidad de minutos en llamadas

2. Monto a cancelar del cliente.



Para la compañía:

1. Total llamadas para todos los clientes

2. Total minutos consumidos entre todos los clientes.

3. Cantidad de clientes en cada rango de minutos.

4. Cliente con mayor pago

5. Cliente con menor pago
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar