Ciao a tutti!!!
Il mio problema è questo.... sto cercando di realizzare un programmino per la comunicazione fra un client e un server,in particolare il client manda un messaggio al server e attende la risposta,il server legge il messaggio del client e risponde al client.
Questo è il codice....non funziona e non riesco a capire dove sbaglio!!!! C'è qualcuno che è in grado di aiutarmi????
Grazie
import java.net.*;
import java.io.*;
public class SimpleServer extends Thread
{
private int port;
private ServerSocket server;
public SimpleServer (int port)
{
this.port = port;
if(!startServer())
System.err.println("Errore durante la creazione del Server");
}
private boolean startServer()
{
try
{
server = new ServerSocket(port);
}
catch (IOException ex)
{
ex.printStackTrace();
return false;
}
System.out.println("Server creato con successo!");
return true;
}
public void runServer()
{
while (true)
{
try
{
// Il server resta in attesa di una richiesta
System.out.println("Server in attesa di richieste...");
Socket s1 = server.accept();
System.out.println("Un client si e' connesso...");
InputStream is = s1.getInputStream();
BufferedReader br = new BufferedReader(new InputStreamReader(is));
// Legge l'input e lo visualizza sullo schermo
System.out.println("Domanda del client: " + br.readLine());
OutputStream os = s1.getOutputStream();
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(os));
//Il server risponde al client
bw.write("Bene!\n");
// Chiude lo stream di output e la connessione
br.close();
bw.close();
s1.close();
System.out.println("Chiusura connessione effettuata\n");
}
catch (IOException ex)
{
ex.printStackTrace();
}
}
}
public static void main (String args[]) throws InterruptedException
{
// Crea un oggetto di tipo SimpleServer in ascolto
// sulla porta 7778
SimpleServer ss = new SimpleServer(7780);
ss.runServer();
}
}
import java.net.*;
import java.io.*;
public class SimpleClient
{
private Socket client;
public SimpleClient(String address,int port) throws UnknownHostException, IOException{
client=new Socket(address,port);
}
public void runClient() throws IOException, InterruptedException{
System.out.println("Il client domanda al server: Come stai??? ");
//manda una richiesta al server
OutputStream os = client.getOutputStream();
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(os));
bw.write("Come stai????!\n");
InputStream is = client.getInputStream();
BufferedReader br = new BufferedReader(new InputStreamReader(is));
// Legge l'input e lo visualizza sullo schermo
System.out.println("Risposta del server: " + br.readLine());
// Al termine, chiude lo stream di comunicazione e il socket.
bw.close();
br.close();
client.close();
System.out.println("Chiusura connessione effettuata");
}
public static void main(String args[]) throws InterruptedException, UnknownHostException, IOException
{
// Apre una connessione verso un server in ascolto
// sulla porta 7777. In questo caso utilizziamo localhost
// che corrisponde all'indirizzo IP 127.0.0.1
System.out.println("Apertura connessione...");
SimpleClient sc = new SimpleClient ("127.0.0.1", 7780);
sc.runClient();
}
}

Rispondi quotando