eu to precisando ter vários programas que calculam um pedaço do PI (ou seja, um pedaço da tarefa), e outro que chama os programas e monta o PI a partir desses pedaços.
tenho aki uns codigos de calculadora, mas pra faze o pi n to conseguindo, nem quebrar em varios processos…
segue meus codigos:
package calc;
import java.rmi.*;
public interface Calculadora extends Remote {
public int soma (int a, int b)
throws RemoteException;
public int subtrai (int a, int b)
throws RemoteException;
}
package Cliente;
import java.rmi.*;
import calc.Calculadora;
public class ClienteTeste {
public static void main(String[] args) throws Exception{
Calculadora c = (Calculadora)Naming.lookup(“rmi://192.168.9.31/CalculadoraDoMac”);
System.out.print(“8+6=” + c.soma (8,6));
}
package NSLN;
import java.rmi.Naming;
import java.rmi.RemoteException;
import java.rmi.server.UnicastRemoteObject;
import calc.Calculadora;
public class CalculadoraImpl extends UnicastRemoteObject implements Calculadora {
/**
*
*/
private static final long serialVersionUID = 1L;
protected CalculadoraImpl () throws RemoteException {
super ();
}
public static void main (String args[]) throws Exception{
CalculadoraImpl calc = new CalculadoraImpl();
//servidor se registra no RMI
Naming.rebind(“CalculadoraNSL”, calc);
System.out.println(“Servidor no ar…”);
}
/*
try {
System.out.println (“2+3=” + calc.soma(2,3));
} catch (Exception e){
e.printStackTrace();
}*/
public int soma(int a, int b) throws RemoteException {
System.out.println (“Soma recebeu:” + a + “+” + b);
return a + b + 7;
}
public int subtrai(int a, int b) throws RemoteException {
<a href="//System.out.println">//System.out.println</a> (“subtração recebeu:” + a + “+” + b));
return a - (b/2);
}
}
package teste;
import java.io.DataInputStream;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;
public class servidor1 extends Thread{
private Socket cliente;
public servidor1 (Socket novo){
cliente = novo;
}
public void run () {
try {
DataInputStream in = new DataInputStream(
cliente.getInputStream ());
PrintWriter out = new PrintWriter(
cliente.getOutputStream());
String linha = in.readLine();
out.println(“Voce mandou:” + linha);
System.out.println ("Resposta Enviada: " + linha);
out.flush();
cliente.close();
}catch (Exception e){
e.printStackTrace();
}
}
public static void main(String[] args) throws Exception {
ServerSocket meuServer;
try {
meuServer = new ServerSocket (10000);
while (true) {
System.out.println (“Aguardando conexão…”);
Socket cliente = meuServer.accept();
System.out.println (“Conexão recebida…”);
System.out.println (
cliente.getInetAddress() + “:”
- cliente.getPort());
Thread t = new servidor1 (cliente);
t.start();
}
// meuServer.close ();
} catch (Exception e){
e.printStackTrace();
}
}
}