|
|
|
![](//www.dsy.it/forum/images/space.gif) |
| ![](//www.dsy.it/forum/images/space.gif) |
![](//www.dsy.it/forum/images/space.gif) |
GinoPilotino |
Esercizio thread |
09-10-2004 16:57 |
|
![Contract Post Collapse](//www.dsy.it/forum/images/collapse.gif) |
GinoPilotino |
.grande:maestro.
![](avatar.php?userid=754&dateline=1164545199)
Registered: Dec 2002
Posts: 1403 (0.17 al dì)
Location: Segrate
Corso: TI.COM
Anno: Secondo
Time Online: 13 Days, 8:59:42 [...]
Status: Offline
Edit | Report | IP: Logged |
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");
}
}
Last edited by GinoPilotino on 09-10-2004 at 17:54
|
09-10-2004 16:57 |
|
|
| ![](//www.dsy.it/forum/images/space.gif) |
![](//www.dsy.it/forum/images/space.gif) |
0m4r |
[ot]usa il tag {code}{/code} oviamente cone le [] ... |
09-10-2004 17:39 |
|
![Contract Post Collapse](//www.dsy.it/forum/images/collapse.gif) |
0m4r |
.grande:maestro.
![](avatar.php?userid=3&dateline=1074504382)
Registered: Mar 2002
Posts: 7287 (0.87 al dì)
Location: Düsseldorf (DE)
Corso:
Anno: ESAMI FINITI
Time Online: 49 Days, 0:42:50 [...]
Status: Offline
Edit | Report | IP: Logged |
Off-Topic: usa il tag {code}{/code} oviamente cone le [] al posto delle {}, il codice sarà piu leggibile
__________________
http://www.twitter.com/0m4r
|
09-10-2004 17:39 |
|
|
| ![](//www.dsy.it/forum/images/space.gif) |
![](//www.dsy.it/forum/images/space.gif) |
futurbaggio |
Re: Esercizio thread |
09-10-2004 19:50 |
|
![Contract Post Collapse](//www.dsy.it/forum/images/collapse.gif) |
futurbaggio |
U Frikkettone
![](avatar.php?userid=1016&dateline=1106334741)
Registered: Feb 2003
Posts: 774 (0.10 al dì)
Location: Foggia
Corso: TIC
Anno: 1° Magistrale
Time Online: 13 Days, 16:44:00: [...]
Status: Offline
Edit | Report | IP: Logged |
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();
}
Non è che questo va dentro ad un try...catch???
Cmq se riporti proprio quello che ti restituisce il compilatore è meglio.
Roberto
__________________
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]
|
09-10-2004 19:50 |
|
|
| ![](//www.dsy.it/forum/images/space.gif) |
![](//www.dsy.it/forum/images/space.gif) |
yeah |
|
![Contract Post Collapse](//www.dsy.it/forum/images/collapse.gif) |
yeah |
.grande:maestro.
![](avatar.php?userid=2315&dateline=1196965400)
Registered: Nov 2003
Posts: 1644 (0.21 al dì)
Location: Cologno Monzese
Corso: Informatica Magistrale
Anno: II
Time Online: 12 Days, 21:36:41 [...]
Status: Offline
Edit | Report | IP: Logged |
![:)](images/smilies/smile.gif)
Non puoi mettere a run() il throws, mi ci sono imbattuto anch'io.
Metti il codice di run() in un try-catch e ricompila ![:approved:](images/smilies/approved.gif)
__________________
?
|
09-10-2004 20:34 |
|
|
| ![](//www.dsy.it/forum/images/space.gif) |
![](//www.dsy.it/forum/images/space.gif) |
yeah |
Ecco: [url=http://java.sun.com/j2se/1.4.2/docs/api ... |
10-10-2004 08:14 |
|
![Contract Post Collapse](//www.dsy.it/forum/images/collapse.gif) |
yeah |
.grande:maestro.
![](avatar.php?userid=2315&dateline=1196965400)
Registered: Nov 2003
Posts: 1644 (0.21 al dì)
Location: Cologno Monzese
Corso: Informatica Magistrale
Anno: II
Time Online: 12 Days, 21:36:41 [...]
Status: Offline
Edit | Report | IP: Logged |
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
Boh! Mi sa che mi sono distratto a lezione e non ho visto questo particolare.
Cmq appena ho un po' di tempo posto il mio codice e vediamo cosa c'è di diverso.
![:)](images/smilies/smile.gif)
P.S.: Oggi alle 03:22 ![:zzz:](images/smilies/sleeping.gif)
__________________
?
Last edited by yeah on 10-10-2004 at 08:24
|
10-10-2004 08:14 |
|
|
| ![](//www.dsy.it/forum/images/space.gif) |
![](//www.dsy.it/forum/images/space.gif) |
GinoPilotino |
ok perfetto ho fatto come hai detto tu e mettendo ... |
10-10-2004 09:17 |
|
![Contract Post Collapse](//www.dsy.it/forum/images/collapse.gif) |
GinoPilotino |
.grande:maestro.
![](avatar.php?userid=754&dateline=1164545199)
Registered: Dec 2002
Posts: 1403 (0.17 al dì)
Location: Segrate
Corso: TI.COM
Anno: Secondo
Time Online: 13 Days, 8:59:42 [...]
Status: Offline
Edit | Report | IP: Logged |
ok perfetto ho fatto come hai detto tu e mettendo Exception solo nel catch funziona tutto perfettamente ![;)](images/smilies/icon_wink.gif)
|
10-10-2004 09:17 |
|
|
| ![](//www.dsy.it/forum/images/space.gif) |
![](//www.dsy.it/forum/images/space.gif) |
Principessa |
catch(Exception e) {
... |
10-10-2004 13:39 |
|
![Contract Post Collapse](//www.dsy.it/forum/images/collapse.gif) |
Principessa |
.fedelissimo.
![](avatar.php?userid=3670&dateline=1087499003)
Registered: May 2004
Posts: 46 (0.01 al dì)
Location:
Corso: Tecnologie dell'Informazione e della Comunicazione
Anno: Secondo
Time Online: 12 Days, 4:50:16 [...]
Status: Offline
Edit | Report | IP: Logged |
catch(Exception e) {
e.printStackTrace();
}
questo quanto appreso dal corso di SOD (Programmazione Concorrente in Java)
|
10-10-2004 13:39 |
|
|
| ![](//www.dsy.it/forum/images/space.gif) |
![](//www.dsy.it/forum/images/space.gif) |
GinoPilotino |
si ora il codice funziona perfettamente. In ogni c ... |
10-10-2004 14:02 |
|
![Contract Post Collapse](//www.dsy.it/forum/images/collapse.gif) |
GinoPilotino |
.grande:maestro.
![](avatar.php?userid=754&dateline=1164545199)
Registered: Dec 2002
Posts: 1403 (0.17 al dì)
Location: Segrate
Corso: TI.COM
Anno: Secondo
Time Online: 13 Days, 8:59:42 [...]
Status: Offline
Edit | Report | IP: Logged |
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 ![:D](images/smilies/icon_mrgreen.gif)
|
10-10-2004 14:02 |
|
|
| ![](//www.dsy.it/forum/images/space.gif) |
![](//www.dsy.it/forum/images/space.gif) |
yeah |
[QUOTE][i]Originally posted by Principessa [/i]
... |
10-10-2004 14:03 |
|
![Contract Post Collapse](//www.dsy.it/forum/images/collapse.gif) |
yeah |
.grande:maestro.
![](avatar.php?userid=2315&dateline=1196965400)
Registered: Nov 2003
Posts: 1644 (0.21 al dì)
Location: Cologno Monzese
Corso: Informatica Magistrale
Anno: II
Time Online: 12 Days, 21:36:41 [...]
Status: Offline
Edit | Report | IP: Logged |
Originally posted by Principessa
catch(Exception e) {
e.printStackTrace();
}
![:schoked:](images/smilies/shocked.gif)
Quello fa si che in caso si verifichi una eccezione, la Java Virtual Machine stampi lo stack delle chiamate (cioè quale funzione ha chiamato quale funzione che ha chiamato quella che ha generato l'eccezione)
Quindi diciamo che è buona norma metterlo: ![:approved:](images/smilies/approved.gif)
__________________
?
Last edited by yeah on 10-10-2004 at 14:12
|
10-10-2004 14:03 |
|
|
| ![](//www.dsy.it/forum/images/space.gif) |
![](//www.dsy.it/forum/images/space.gif) |
yeah |
[edit] ma che ancora? Stavolta non ho postato! Sta ... |
10-10-2004 14:07 |
|
![Contract Post Collapse](//www.dsy.it/forum/images/collapse.gif) |
yeah |
.grande:maestro.
![](avatar.php?userid=2315&dateline=1196965400)
Registered: Nov 2003
Posts: 1644 (0.21 al dì)
Location: Cologno Monzese
Corso: Informatica Magistrale
Anno: II
Time Online: 12 Days, 21:36:41 [...]
Status: Offline
Edit | Report | IP: Logged |
[edit] ma che ancora? Stavolta non ho postato! Stavo editanto, poi sono tornato indietro e tac! Doppio post. Bug?
__________________
?
Last edited by yeah on 10-10-2004 at 14:13
|
10-10-2004 14:07 |
|
|
| ![](//www.dsy.it/forum/images/space.gif) |
![](//www.dsy.it/forum/images/space.gif) |
Dodo |
[QUOTE][i]Originally posted by yeah [/i]
... |
10-10-2004 14:23 |
|
![Contract Post Collapse](//www.dsy.it/forum/images/collapse.gif) |
Dodo |
lunatico
![](avatar.php?userid=357&dateline=1183201525)
Registered: Jul 2002
Posts: 2340 (0.28 al dì)
Location: in una fibra ottica
Corso: Com Dig
Anno: 3+1 :P
Time Online: 42 Days, 7:55:56 [...]
Status: Offline
Edit | Report | IP: Logged |
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
|
10-10-2004 14:23 |
|
|
| ![](//www.dsy.it/forum/images/space.gif) |
![](//www.dsy.it/forum/images/space.gif) |
yeah |
Visto che hai quotato il mio post, spero almeno tu ... |
10-10-2004 14:55 |
|
![Contract Post Collapse](//www.dsy.it/forum/images/collapse.gif) |
yeah |
.grande:maestro.
![](avatar.php?userid=2315&dateline=1196965400)
Registered: Nov 2003
Posts: 1644 (0.21 al dì)
Location: Cologno Monzese
Corso: Informatica Magistrale
Anno: II
Time Online: 12 Days, 21:36:41 [...]
Status: Offline
Edit | Report | IP: Logged |
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 ![:)](images/smilies/smile.gif)
__________________
?
|
10-10-2004 14:55 |
|
|
| ![](//www.dsy.it/forum/images/space.gif) |
![](//www.dsy.it/forum/images/space.gif) |
0m4r |
[QUOTE][i]Originally posted by GinoPilotino [/i]
... |
10-10-2004 16:27 |
|
![Contract Post Collapse](//www.dsy.it/forum/images/collapse.gif) |
0m4r |
.grande:maestro.
![](avatar.php?userid=3&dateline=1074504382)
Registered: Mar 2002
Posts: 7287 (0.87 al dì)
Location: Düsseldorf (DE)
Corso:
Anno: ESAMI FINITI
Time Online: 49 Days, 0:42:50 [...]
Status: Offline
Edit | Report | IP: Logged |
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
io non ho visto il codice che avete usato a lezione, ma forse posso azzardare perchè al lui funzionava e a te no.
Usando throws l'eccezione viene sollevata e lasciata da gestire al metodo chiamante. Quindi probabilmente, nel cosice del professore, il metodo che solleva l'eccezione (cioè quello con throws) era racchiuso in un try/catch o a sua volta aveva un throws che rimandava la gestione dell'eccezione al suo metodo chiamante. Forse non è chiarissimo, ma più o meno si capisce dai...
__________________
http://www.twitter.com/0m4r
|
10-10-2004 16:27 |
|
|
| ![](//www.dsy.it/forum/images/space.gif) |
![](//www.dsy.it/forum/images/space.gif) |
yeah |
Farò delle prove, ma se la memoria non m'inganna ... |
11-10-2004 01:11 |
|
![Contract Post Collapse](//www.dsy.it/forum/images/collapse.gif) |
yeah |
.grande:maestro.
![](avatar.php?userid=2315&dateline=1196965400)
Registered: Nov 2003
Posts: 1644 (0.21 al dì)
Location: Cologno Monzese
Corso: Informatica Magistrale
Anno: II
Time Online: 12 Days, 21:36:41 [...]
Status: Offline
Edit | Report | IP: Logged |
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ò.
__________________
?
Last edited by yeah on 11-10-2004 at 20:32
|
11-10-2004 01:11 |
|
|
| ![](//www.dsy.it/forum/images/space.gif) |
![](//www.dsy.it/forum/images/space.gif) |
All times are GMT. The time now is 02:25. |
|
|
![Post New Thread](images/newthread.gif) |
|
![Post A Reply](images/reply.gif) |
|
|
| ![](//www.dsy.it/forum/images/space.gif) |
Forum Rules:
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
|
HTML code is OFF
vB code is ON
Smilies are ON
[IMG] code is ON
|
|
|
|
|
|