ecco il codice :
codice:
import java.applet.*;
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.io.PrintStream;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;
import java.net.UnknownHostException;
public class server extends JApplet {
Socket connessione;
ServerSocket richiesta;
JPanel pannello = new JPanel();
JTextField casella = new JTextField(40);
JTextArea testo = new JTextArea(20, 30);
JButton entra = new JButton("ENTRA IN CHAT");
public server() {
pannello.add(testo);
pannello.add(casella);
pannello.add(entra);
add(pannello);
testo.setBackground(Color.BLACK);
testo.setForeground(Color.BLUE);
entra.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
try {
richiesta = new ServerSocket(8888);
connessione = richiesta.accept();
} catch (IOException e2) {
e2.printStackTrace();
}
}
});
casella.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
String input;
input = casella.getText();
testo.setText(input);
OutputStreamWriter osw;
PrintWriter invialo;
BufferedWriter alclient;
try {
osw = new OutputStreamWriter(connessione.getOutputStream());
alclient = new BufferedWriter(osw);
invialo = new PrintWriter(alclient);
invialo.println(input);
} catch (UnknownHostException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
});
int sec = 1;
ActionListener action = (new ActionListener() {
public void actionPerformed(ActionEvent e) {
BufferedReader dalclient;
InputStreamReader isr;
try {
isr = new InputStreamReader(connessione.getInputStream());
dalclient = new BufferedReader(isr);
String ricevi;
String messaggio = testo.getText();
System.out.println("timer attivo");
while (dalclient.readLine() != "") {
ricevi = dalclient.readLine();
testo.setText(messaggio + ricevi);
}
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
});
javax.swing.Timer t = new javax.swing.Timer(sec, action);
t.start();
}
public static void main(String Args[]) {
server esegui = new server();
}
}
il pratica l'errore è in connessione=server.accept();
perche quando clicco sul pulsante entra in chat il programma si blocca non capisco perche
aiutatemi grazie 1000