Sono un programmatore Java alle prime armi, non riesco a implementare una semplice comunicazione client/server:
Quando lancio il client dopo aver lanciato il server mi appare sul pannello "Console" (uso Eclipse) il seguente
output:
Server in attesa sulla porta 2012 (2013)
Connessione avvenuta
ECCEZIONE Server: java.net.SocketException: Connection reset
Qualcuno puo' aiutarmi per favore?
********** Client.java **********
codice:import java.net.*; import java.io.*; public class Client { public static void main(String[] args) { Socket client; OutputStream out; ObjectOutputStream oos; String serverName="127.0.0.1"; int port=2013; // 2012 try { System.out.println("Connessione a " + serverName + " sulla porta " + port); client = new Socket(serverName, port); System.out.println("Collegato a " + client.getRemoteSocketAddress()); out=client.getOutputStream(); oos=new ObjectOutputStream(out); oos.writeUTF("Prova"); } catch (Exception exc) { System.out.println("ECCEZIONE Client: "+exc.toString()); } } }
********** Server.java **********
codice:import java.io.*; import java.net.*; public class Server { public static void main(String[] args) { Socket s; ServerSocket ss; InputStream in; ObjectInputStream ois; String messaggio="indefinito"; try { ss = new ServerSocket(2013); // 2012 ss.setSoTimeout(50000); // 100000 System.out.println("Server in attesa sulla porta 2012 (2013)"); s=ss.accept(); System.out.println("Connessione avvenuta"); in=s.getInputStream(); ois=new ObjectInputStream(in); messaggio=ois.readUTF(); System.out.println("Il client ha inviato: "+messaggio); } catch (Exception exc) { System.out.println("ECCEZIONE Server: "+exc.toString()); } } }

Rispondi quotando