Un cliente frente a varios servidores.
Publicado por Adolfo Sanz (1 intervención) el 26/05/2006 11:46:19
Hola,
Tengo que hacer una aplicación que calcule el número pi. Los puntos serán creados al azar y utilizarán el círculo unidad para hacer una estimación.
El usuario dirá al cliente el número de puntos que desea generar. Así pues, el cliente recibirá ese número y lo distribuirá entre varios servidores. Los servidores harán los cálculos (debe trabajar simultáneamente) y enviarán de vuelta el resultado al cliente. Finalmente el cliente recopilará los datos que le han proporcionado los servidores y mostrará el valor final del pi. El número de servidores es un parámetro que se debe fijar en tiempo de programación, pero que debe fácilmente ser modificable.
He leído sobre un servidor y varios clientes; pero ahora es lo contrario. ¿Cómo puedo crear varios servidores simultáneamente? ¿Cómo puedo conectar a un cliente con varios servidores de modo que este haga los cálculos simultáneamente?
¿Ideas? ¿Referencias?
Estoy utilizando algo similar a esto:
import java.io.*;
import java.net.*;
class Client {
static final String HOST = "localhost";
static final int PORT=5000;
public Client( ) {
try{
Socket skClient = new Socket( HOST , Port );
InputStream aux = skClient.getInputStream();
DataInputStream flux = new DataInputStream( aux );
System.out.println( flux.readUTF() );
skClient.close();
} catch( Exception e ) {
System.out.println( e.getMessage() );
}
}
public static void main( String[] arg ) {
new Client();
}
}
import java.io.* ;
import java.net.* ;
class Server {
static final int PORT=5000;
public Server( ) {
try {
ServerSocket skServer = new ServerSocket( PORT );
System.out.println("Listening at port " + PORT );
Socket skCliente = skServidor.accept(); // Crea objeto
/* CODE CALCULATE */
} catch( Exception e ) {
System.out.println( e.getMessage() );
}
}
public static void main( String[] arg ) {
new Server();
}
}
Gracias
Tengo que hacer una aplicación que calcule el número pi. Los puntos serán creados al azar y utilizarán el círculo unidad para hacer una estimación.
El usuario dirá al cliente el número de puntos que desea generar. Así pues, el cliente recibirá ese número y lo distribuirá entre varios servidores. Los servidores harán los cálculos (debe trabajar simultáneamente) y enviarán de vuelta el resultado al cliente. Finalmente el cliente recopilará los datos que le han proporcionado los servidores y mostrará el valor final del pi. El número de servidores es un parámetro que se debe fijar en tiempo de programación, pero que debe fácilmente ser modificable.
He leído sobre un servidor y varios clientes; pero ahora es lo contrario. ¿Cómo puedo crear varios servidores simultáneamente? ¿Cómo puedo conectar a un cliente con varios servidores de modo que este haga los cálculos simultáneamente?
¿Ideas? ¿Referencias?
Estoy utilizando algo similar a esto:
import java.io.*;
import java.net.*;
class Client {
static final String HOST = "localhost";
static final int PORT=5000;
public Client( ) {
try{
Socket skClient = new Socket( HOST , Port );
InputStream aux = skClient.getInputStream();
DataInputStream flux = new DataInputStream( aux );
System.out.println( flux.readUTF() );
skClient.close();
} catch( Exception e ) {
System.out.println( e.getMessage() );
}
}
public static void main( String[] arg ) {
new Client();
}
}
import java.io.* ;
import java.net.* ;
class Server {
static final int PORT=5000;
public Server( ) {
try {
ServerSocket skServer = new ServerSocket( PORT );
System.out.println("Listening at port " + PORT );
Socket skCliente = skServidor.accept(); // Crea objeto
/* CODE CALCULATE */
} catch( Exception e ) {
System.out.println( e.getMessage() );
}
}
public static void main( String[] arg ) {
new Server();
}
}
Gracias
Valora esta pregunta


0