Ho provato a fare un client e un server normali(credo) senza collegamenti a database da nessuna parte.
Non mi funziona!!! Non capisco perchè!!!!![]()
CLIENT:
codice:import java.net.*; import java.io.*; public class Client { public static void main(String args[]){ Socket s = null; String[] ingy = {"Ciliegine di Mozzarella (gr)","Pomodorini","Origano (pizzichi)"}; int[] qtyy = {30,3,1}; System.out.println("Ingredienti e quantità ricetta: "); for (int i=0; i<ingy.length; i++){ System.out.println(ingy[i]+","+qtyy[i]) } int y = ingy.length; int n; String[] ingout; float[] qtyout; try{ s= new Socket("localhost", 2222); ObjectInputStream is1 = new ObjectInputStream(s.getInputStream()); ObjectOutputStream os1 = new ObjectOutputStream(s.getOutputStream()); DataInputStream is3 = new DataInputStream(s.getInputStream()); DataOutputStream os2 = new DataOutputStream(s.getOutputStream()); os2.write(y); for (int j=0; j<y; j++) { os1.writeObject(ingy[j]); os2.writeFloat(qtyy[j]); } n = (int)is3.read(); ingout = new String[n]; qtyout = new float[n]; for (int j=0; j<n; j++) { ingout[j] = (String) is1.readObject(); qtyout[j] = is3.readFloat(); } System.out.println("\nLista della spesa: "); for (int j=0; j<n; j++){ System.out.println("Ingredienti\n"+ingout[j]+":"+qtyout[j]); } os1.close(); os2.close(); is1.close(); is3.close(); s.close() ; } // end-try di collegamento socket catch(UnknownHostException e){ System.err.println("Host Unknown"); } catch(Exception e){ System.err.println(e); } } }
SERVER:
codice:import java.net.*; import java.io.*; import java.util.*; import javax.servlet.*; import javax.servlet.http.*; import java.sql.*; public class Server{ public static void main(String args[]){ Socket cs = null; ServerSocket ss = null; int y; String[] ingy; float[] qtyy; String[] ingout; float[] qtyout; try{ ss = new ServerSocket(2222); while(true){ cs = ss.accept(); ObjectOutputStream os1= new ObjectOutputStream(cs.getOutputStream()); DataOutputStream os3 = new DataOutputStream(cs.getOutputStream()); ObjectInputStream is1= new ObjectInputStream(cs.getInputStream()); DataInputStream is2= new DataInputStream(cs.getInputStream()); y = (int)is2.read(); ingy = new String[y]; qtyy = new float[y]; for (int j=0; j<y; j++){ ingy[j] = (String)is1.readObject(); //array ricetta qtyy[j] = is2.readFloat(); } String[] ingd = {"Ciliegine di Mozzarella (gr),Farina (gr),Mele,Pomodorini"}; //array dispensa float[] qtyd = {10,50,3,10}; int n=0; ingout = new String[n]; //array output spesa qtyout = new float[n]; //ingy.lengh for(int j=0; j<y; j++){ //ingy for(int k=0; k<ingd.length; k++){ //ingd if (ingy[j]==ingd[k]){ float q = qtyy[j] - qtyd[k]; if (q>0){ ingout[n] = ingy[j]; qtyout[n] = q; n++; } } } } os3.write(n); for(int a=0; a<n; a++){ os1.writeObject(ingout[a]); os3.writeFloat(qtyout[a]); } os1.close(); os3.close(); is1.close(); is2.close(); cs.close(); } } catch(UnknownHostException e){ System.err.println("Host Unknown"); } catch(Exception e){ System.err.println(e); } } }

Rispondi quotando


