nel codice sorgente dato, una classe SegmentClient
utilizza una classe Segment
locale.
La classe Segment
a sua volta usa la classe Point
public class Point {
double x, y;
final double THRESHOLD = 0.0000001;
public Point(double tx, double ty){
x=tx;
y=ty;
}
public double getX(){
return x;
}
public double getY(){
return y;
}
public boolean isEqual(Point p){
return (Math.abs(x - p.getX()) < THRESHOLD) &&
(Math.abs(y - p.getY()) < THRESHOLD);
}
}
public class Segment {
private Point p1=null;
private Point p2=null;
public Segment(){ }
public boolean set(Point p1, Point p2) {
if(!p1.isEqual(p2)) {
this.p1=p1; this.p2=p2;
return true;
} else {
return false;
}
}
private Point midPoint(){
double mx,my;
mx=(p1.getX()+p2.getX())/2;
my=(p1.getY()+p2.getY())/2;
return(new Point(mx, my));
}
public Point simmetric(Point p) {
Point m = this.midPoint();
double simmX=2*m.getX()-p.getX();
double simmY=2*m.getY()-p.getY();
return new Point(simmX, simmY);
}
}
public class SegmentClient {
public static void main(String[] args) {
Point p1=new Point(0.0, 0.0);
Point p2=new Point(4.0, 4.0);
Point px=new Point(0.0, 4.0);
Segment sgm=new Segment();
sgm.set(p1, p2);
Point simm = sgm.simmetric(px);
System.out.println("Il punto simmetrico e` (" + simm.getX()+","+simm.getY()+")");
}
}
Si vuole realizzare un server che sia in grado di accettare connessioni via socket e che implementi le seguenti richieste da parte dei clienti:
Si implementi il server descrittro.
Si vuole che molti client possano accedere contemporaneamente al server, ma ciascuno per creare e usare un proprio segmento (diverso da quello degli altri client)