.dsy:it.
Show 150 posts per page

.dsy:it. (http://www.dsy.it/forum/)
- Reti di calcolatori (http://www.dsy.it/forum/forumdisplay.php?forumid=68)
-- [DOMANDA] Cli.Java e Ser.Java (http://www.dsy.it/forum/showthread.php?threadid=13910)


Posted by Hollywood on 06-10-2004 21:45:

Cli.Java e Ser.Java

Dunque io avrei un paio di domande sul codice di queste pagine.

File Cli. Java

while ((c = sIn.read()) != -1) {
System.out.print((char)c);
}


Non ho ben capito a cosa serve questo codice, facendo delle prove, ho messo != 0 e mi stampa all'infinito il simbolo "?"


File Ser.Java

String sendString="Hello Net World!\n";
for (int i=0; i<slength; i++) {
s1out.write((int)sendString.charAt(i));
}



Perche per "stampare" questa stringa sul monitor, bisogna creare un ciclo che prende 1 carattere per volta, non esiste un metodo per stampare la stringa direttamente ???
Provo a dare una risposta :
Perche come argomento di getOutputStream() bisogna passare un carattere per volta ???

Grazie per le risposte


Posted by yeah on 06-10-2004 22:32:

Il primo ciclo preleva un carattere alla volta dallo stream di input (ottenuto dal socket) fino a quando non finiscono i caratteri (e quindi, presumo, read() ritorna -1).

A quanto pare pertanto (non ho guardato il manuale) read() ritorna -1 quando lo stream di input è vuoto.

Il secondo ciclo non stampa su schermo, ma i caratteri della stringa, uno alla volta, sullo stream di output del socket.

__________________
?


Posted by yeah on 06-10-2004 22:33:

Aggiungo: forse c'è anche un modo per inviare tutta la stringa insieme, ma inviare un carattere alla volta è più low-level :) (nel senso che è più vicino a quello che succede sulla linea, dove viene inviato un bit alla volta).

Purtroppo sono uno sfortunato a cui gli sono state insegnate ConsoleInputManager e ConsoleOutputManager. Quindi ho dato l'esame di informatica generale ma non so leggere caratteri e stamparli secondo lo standard Java.

Uno di questi gg dovrò leggere il manuale a riguardo.

P.S.: A qualcuno interessa il codice di client e server della chat, che il prof ha chiesto alla prima lezione?

__________________
?


Posted by futurbaggio on 07-10-2004 00:59:

Originally posted by yeah
P.S.: A qualcuno interessa il codice di client e server della chat, che il prof ha chiesto alla prima lezione?


Ho messo il mio in un altro thread... se vuoi confrontalo e mi dici se hai fatto diversamente...

Per il resto, il metodo write di Outputstrem come riportato sulla documentazione ha le seguenti forme:

write(byte[] b)
write(byte[] b, int off, int len)
write(int b)

Per fare la cosa facile si potrebbe fare un metodo che converte una stringa direttamente e ridurre il codice ma in questo caso si poteva evitare visto che era una semplice applicazione...

Per il -1... beh io sono rimasto nel dubbio, la documentazione afferma che indica la fine delle trasmissioni su uno stream di dati ma a me per la chat non ha funzionato molto... cmq in linea teorica dovrebbe essere così!

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]


Posted by mao on 13-11-2004 16:16:

errore Exception

Ciao,

ho provato solo adesso a compilare e ad eseguire i due programmi Cli e Ser.
Dal prompt dos, vado nella mia cartella d:\reti e compilo senza problemi con javac Cli.java e mi crea il file Cli.class

Il problema sorge quando do il comando "java Cli" mi ritorna un messaggio di errore di questo tipo:
Exception in thread "main" javac.lang.NoClassDeffoundError: Cli

Sembra che non trovi il file .class, ma questo si trova nella stessa identica cartella, è li!

Come posso fare per eseguire questi due programmi con successo?

Aiuto, per favore.
ciao Mao


Posted by 0m4r on 13-11-2004 16:40:

Il nome della classe nel file java è identico (e per indentico intendo anche maiuscole e minusole) al nome del file java che la contine? E' percaso specificato un package nella classe java?

__________________
http://www.twitter.com/0m4r


Posted by mao on 14-11-2004 15:30:

sì sono identici i nomi, sono gli esercizi che ho scaricato dallo zip della lezione 1 del laboratorio di reti.

ci sono due riferimenti :
import java.net.*;
import java.io.*;

E nell'eseguire Cli e Ser mi restituiscono sempre quell'errore.

come devo fare?


Posted by 0m4r on 14-11-2004 17:25:

non sono gli import il problema, posta il codice per intero e l'esatta linea di comando che usi per compilare ed eseguire il codice, ricordati di usare i tag code, alemno cois il codice resterà ordinato...

__________________
http://www.twitter.com/0m4r


Posted by mao on 15-11-2004 11:28:

problema risolto, c'era un'altra installazione, quella della jre che andava in conflitto con sdk.

ora funge!

ciao e grazie.


All times are GMT. The time now is 12:12.
Show all 9 posts from this thread on one page

Powered by: vBulletin Version 2.3.1
Copyright © Jelsoft Enterprises Limited 2000 - 2002.