thebonni90 (Normal User)
Rookie
Messaggi: 22
Iscritto: 01/01/2011
|
Salve ragazzi
ho fatto un semplice programmino formato da server e client dove il server gestisce le risorse invece il
client richiede le risorse però ho la seguente ecc ...
java.net.SocketException: Connection reset
at java.net.SocketInputStream.read(Unknown Source)
at java.net.SocketInputStream.read(Unknown Source)
at java.io.ObjectInputStream$PeekInputStream.peek(Unknown Source)
at java.io.ObjectInputStream$BlockDataInputStream.peek(Unknown Source)
at java.io.ObjectInputStream$BlockDataInputStream.peekByte(Unknown Source)
at java.io.ObjectInputStream.readObject0(Unknown Source)
at java.io.ObjectInputStream.readObject(Unknown Source)
at contSkel.run(contSkel.java:35)
codice dello skeleton con anche il protocollo
Codice sorgente - presumibilmente Java |
/* SKELETON * Protocolllo * RICHISTA RISPOSTA * "RIC" <Integer> --------------> <risorsa>|<giaAssegnata>|<InterruptedException> * "RIL" <Integer><risorsa> --------> "OK"|<risorsaErrata>|<NoRisorsa> * la NPE sarà lo stab a sollevarla */ import java.io.IOException; import java.io.ObjectInputStream; import java.io.ObjectOutputStream; import java.net.Socket; public class contSkel extends Thread{ //CAMPI private GestoreImpl gest; //COSTRUTTORE this.s=s; this.gest=gest; //Apriamo i 2 stream } //METODI public void run(){ try{ while(true){//ciclo infinito //leggo una stringa dello stream if(op.equals("RIC")){ int tmp = ((Integer)in. readObject()). intValue(); try{ Risorsa ris1= gest.richiedi(tmp); out.writeObject(ris1); }catch(giaAssegnata e){out.writeObject(e);} } else { //allora è un rilascia int tmp = ((Integer)in. readObject()). intValue(); Risorsa tmpris= (Risorsa)in.readObject(); try{ gest.rilascia(tmp, tmpris); }catch(risorsaErrata e){out.writeObject(e);} catch(NoRisorsa e){out.writeObject(e);} } }//end while //end primo try finally{ try{ s.close(); } } }
|
codeice dello stub
Codice sorgente - presumibilmente Java |
/* * Protocolllo * RICHISTA RISPOSTA * "RIC" <Integer> --------------> <risorsa>|<giaAssegnata>|<InterruptedException> * "RIL" <Integer><risorsa> --------> "OK"|<risorsaErrata>|<NoRisorsa> * la NPE sarà lo stab a sollevarla */ import java.io.IOException; import java.io.ObjectInputStream; import java.io.ObjectOutputStream; import java.net.InetAddress; import java.net.Socket; public class gestoreStub implements GestoreRisorse { //CAMPI //COSTRUTTORE } //METODI out.writeObject("RIC"); try{ tmp= in.readObject(); if(tmp instanceof giaAssegnata)throw new giaAssegnata(); else return (Risorsa)tmp;//ritorna la risorsa } public void rilascia(int u, Risorsa r) throws risorsaErrata, NoRisorsa, out.writeObject("RIL"); out.writeObject(r); try{ tmp = in.readObject(); } if(tmp instanceof risorsaErrata)throw (risorsaErrata)tmp; else if(tmp instanceof NoRisorsa)throw (NoRisorsa)tmp; else return; } }//end class
|
|