Java - Código Java

 
Vista:

Código Java

Publicado por Jairo Raúl (2 intervenciones) el 21/02/2009 18:25:33
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 envíe el número de filas y columnas y el servidor muestre la matriz generada. 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