![]() |
Pages (2): [1] 2 » Show 150 posts per page |
.dsy:it. (http://www.dsy.it/forum/)
- Reti di calcolatori (http://www.dsy.it/forum/forumdisplay.php?forumid=68)
-- [ESERCIZIO] Thread (http://www.dsy.it/forum/showthread.php?threadid=14000)
Esercizio thread
Ragazzi avete provato a casa a creare la connessione client - server tramite thread e a compilarla?
Probabilmente ho preso male appunti io però non mi va. Io ho scritto il codice come segue:
in linea teorica mi sembra giusto quello che ho fatto però in fase di compilazione mi dice che il metodo run non accetta le eccezioni; se lo tolgo però succede un mezzo casino.
qualche suggerimento? a voi va?
code:
import java.net.*; import java.io.*; public class Servert { public static void main(String args[]) throws Exception { // variabili String frase="Ciao sono il server"; ServerSocket server=null; Socket servizio=null; boolean connessione=true; OutputStream canale; int i; // programma Smista t; try { server = new ServerSocket(1000); } catch(IOException e) { System.out.println("Connessione Fallita"); connessione=false; } while(connessione) { System.out.println("\n\nServer in attesa di connessione"); servizio = server.accept(); t = new Smista(servizio, frase); t.start(); } } } class Smista extends Thread { // variabili OutputStream canale; Socket serviziothread=null; String frasethread; // programma public Smista(Socket servizio, String frase) { this.serviziothread = servizio; this.frasethread = frase; } public void run() throws Exception { canale = serviziothread.getOutputStream(); for (int i=0; i<frasethread.length();i++) { canale.write((int)frasethread.charAt(i)); sleep(1000); } serviziothread.close(); System.out.println("Servizio erogato"); } }
Off-Topic:
usa il tag {code}{/code} oviamente cone le [] al posto delle {}, il codice sarà piu leggibile
__________________
http://www.twitter.com/0m4r
Re: Esercizio thread
code:
while(connessione) { System.out.println("\n\nServer in attesa di connessione"); servizio = server.accept(); t = new Smista(servizio, frase); t.start(); }
__________________
E lo sceriffo americano non lo sa / ma quando parla ride tutta la città / vile fellone vieni a singolar tenzone / unza unza umpappà troppe truppe mariscià.
Non ci voleva l'eruzione della lava / e due piccioni si contendono la fava / sposa bagnata, bambina svergognata / la questione è delicata / come bolle la patata.
Basta! E' finita la festa
[L'ovile delle vanità, Folkabbestia]
Non puoi mettere a run() il throws, mi ci sono imbattuto anch'io.
Metti il codice di run() in un try-catch e ricompila
__________________
?
Originally posted by yeah
Non puoi mettere a run() il throws, mi ci sono imbattuto anch'io.
Metti il codice di run() in un try-catch e ricompila![]()
Ecco: sleep() lancia InterruptedException, che nella gerarchia sta sotto ad Exception, quindi probabilmente nella catch() ci va Exception (o InterruptedException) anzichè IOException
In ogni caso non riesco a capire perchè al prof andava mettendo throws exception nel metodo run e a me no
Oggi alle 03:22
__________________
?
ok perfetto ho fatto come hai detto tu e mettendo Exception solo nel catch funziona tutto perfettamente
catch(Exception e) {
e.printStackTrace();
}
questo quanto appreso dal corso di SOD (Programmazione Concorrente in Java)
si ora il codice funziona perfettamente. In ogni caso sto cercando di capire come mai al professore andava tutto bene in aula mettendo throws Exception al metodo run() del thread mentre io se lo faccio sul pc java mi smadonna dietro
Originally posted by Principessa
catch(Exception e) {
e.printStackTrace();
}
__________________
?
[edit] ma che ancora? Stavolta non ho postato! Stavo editanto, poi sono tornato indietro e tac! Doppio post. Bug?
__________________
?
Originally posted by yeah
[edit] ma che ancora? Stavolta non ho postato! Stavo editanto, poi sono tornato indietro e tac! Doppio post. Bug?
Off-Topic:
http://www.dsy.it/forum/announcement.php?forumid=7
__________________
E' meglio essere ottimisti ed avere torto piuttosto che pessimisti ed avere ragione.
Albert Einstein
Visto che hai quotato il mio post, spero almeno tu l'abbia letto :-/
Non ho postato, stavo editando. Invece che inviare le modifiche ho cliccato su "Indietro" nel browser
__________________
?
Originally posted by GinoPilotino
si ora il codice funziona perfettamente. In ogni caso sto cercando di capire come mai al professore andava tutto bene in aula mettendo throws Exception al metodo run() del thread mentre io se lo faccio sul pc java mi smadonna dietro![]()
![]()
__________________
http://www.twitter.com/0m4r
Farò delle prove, ma se la memoria non m'inganna (il che non è da escludersi ) quando l'ho fatto in Silab mi diceva qualcosa del tipo che run() non può fare il throws, perchè è un metodo in overload. Proverò e comunicherò.
__________________
?
All times are GMT. The time now is 14:40. | Pages (2): [1] 2 » Show all 16 posts from this thread on one page |
Powered by: vBulletin Version 2.3.1
Copyright © Jelsoft Enterprises Limited 2000 - 2002.