Salve a tutti,
ho un problema con la comunicazione tra due applet. Voglio far sì che quando disegno nell'applet client con drawLine, allo stesso tempo nell'applet server appaia il disegno... Ma non funziona! Tuttavia l'invio delle coordinate sembra funzionare (vedi showStatus applet server). Qualcuno che mi può aiutare gentilmente? Domani ho un esame, sarebbe il massimo farlo funzionare entro sera.
Sotto i codici dei due rispettivi applet.
Grazie mille! 
APPLET CLIENT
codice:
import java.applet.Applet;
import java.awt.Graphics;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.event.MouseMotionListener;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.net.Socket;
import java.net.UnknownHostException;
import java.util.logging.Level;
import java.util.logging.Logger;
public class ArtClient extends Applet implements MouseListener, MouseMotionListener {
Graphics g;
int startX;
int startY;
private static final int PORTNUM = 2222;
private static final String IP = "127.0.0.1";
private Socket connection;
private BufferedWriter out;
public void init() {
setSize(300, 300);
this.addMouseListener(this);
this.addMouseMotionListener(this);
}
public void start() {
try {
g = this.getGraphics();
connection = new Socket(IP, PORTNUM);
out = new BufferedWriter(new OutputStreamWriter(connection.getOutputStream()));
this.showStatus("Connessione attivata.");
}
catch (IOException ex) {
}
}
public void mouseClicked(MouseEvent e) {
}
public void mousePressed(MouseEvent e) {
startX = e.getX();
startY = e.getY();
}
public void mouseReleased(MouseEvent e) {
}
public void mouseEntered(MouseEvent e) {
}
public void mouseExited(MouseEvent e) {
}
public void mouseDragged(MouseEvent e) {
g.drawLine(startX, startY, e.getX(), e.getY());
try {
out.write(startX);
out.write(startY);
out.write(e.getX());
out.write(e.getY());
out.flush();
}
catch (IOException ex) {
}
startX = e.getX();
startY = e.getY();
}
public void mouseMoved(MouseEvent e) {
}
}
APPLET SERVER
codice:
import java.applet.Applet;
import java.awt.Graphics;
import java.awt.TextField;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.event.MouseMotionListener;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.net.ServerSocket;
import java.net.Socket;
import java.net.UnknownHostException;
import java.util.logging.Level;
import java.util.logging.Logger;
public class ArtServer extends Applet {
Graphics g;
int startX;
int startY;
int finalX;
int finalY;
TextField tfCoordinate = new TextField(20);
private static final int PORTNUM = 2222;
private Socket connection;
private ServerSocket server;
private BufferedReader in;
public void init() {
setSize(300, 300);
add(tfCoordinate);
}
public void start() {
try {
g = this.getGraphics();
server = new ServerSocket(PORTNUM);
connection = server.accept();
in = new BufferedReader(new InputStreamReader(connection.getInputStream()));
this.showStatus("Connessione accettata.");
while(true) {
startX = in.read();
startY = in.read();
finalX = in.read();
finalY = in.read();
this.showStatus(startX + " " + startY + "");
}
}
catch (IOException ex) {
}
}
}