.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)
-- [info] Appello 1 Aprile (http://www.dsy.it/forum/showthread.php?threadid=18271)


Posted by urcodiaz on 21-03-2005 10:01:

Thumbs up appello 1 aprile

Ciao a Tutti!

Volevo sapere se coloro che hanno dato la parte di laboratorio negli ultimi tre appelli (gennaio, febbraio, marzo) si ricordavano quali fossero le richieste del docente.
Ripeto: la parte di laboratorio!!
Ho già letto qualcosa a proposito scritto da futurbaggio...
Sembrerebbe che di codice vero e proprio da scrivere ci sia solo java...su c solo domande sulle primitive...
altre informazioni?
Ringrazio tutti!!

CiaoCiao!

__________________
:boing:


Posted by Flavia on 21-03-2005 11:22:

Allora, ti faccio un breve riassuntino!

La parte di laboratorio consta di 4 moduli:
-Primo modulo: domande a risposta chiusa sul linguaggio C. Riguardano i metodi e i parametri da passare soprattutto. Se studi sulle slide di Cassiano, a un 90% ti assicuro che puoi arrivare ( :D )
-Secondo, terzo e quarto modulo: scrittura del CODICE che esegue una particolare richiesta. La richiesta è la stessa per tutti e quattro i turni dell'esame, solo che due di questi dovranno implementarla in UDP, due in TCP.

Negli ultimi due esami (quello del 28 Gennaio e quello del 1 Marzo) i tre moduli su Java chiedevano rispettivamente il client, il server e il server multithread di un programma che rispondeva a certe richieste..quindi PENSO proprio che anche all'appello del primo aprile si chiederà di implementare un client, un server e un server multithread, ovviamente che faranno cose diverse da quelle richieste nei precedenti appelli!

All'appello del 1 Aprile le consegne erano queste:
-il client invia una stringa, del tipo "2+4" (che decide il client stesso) al server
-Il server passa la richiesta a un thread, quindi al server multithread
-il server thread calcola il risultato e lo rimanda al client
-il client calcola se il numero è pari o dispari e rinvia questa "scoperta" al server multithread
-il server multihtread riceve il risultato!

E così dovevi scrivere 3 diversi file, ognuno che implementava rispettivamente il client, il server e il server multithread.
Le questioni un po'più "spinose" erano che il client doveva inviare la STRINGA con l'operazione e il server doveva, con il StringTokenizer, convertirla in numeri e calcolare la somma/differenza/prodotto/divisione. Poi magari era importante ricordarsi che per calcolare se un numero è pari o dispari usi la funzione "%" che calcola il resto...
..ma queste erano "bazzecole"..l'importante era far vedere che sapevi come usare un socket e come crearla, e come creare gli stream!

All'appello del 28 Gennaio non ricordo cosa avesse chiesto. Comunque era sempre un client che faceva una richiesta a un server multithread che poi faceva partire un thread!

:ciao:

__________________
I ragazzi che si amano si baciano in piedi contro le porte della notte, e la gente che passa li punta con il dito, ma i ragazzi che si amano non ci sono per nessuno ed è la loro ombra soltanto che trema nella notte.
Stimolando la rabbia dei passanti, la loro rabbia il loro disprezzo le risa la loro invidia.
I ragazzi che si amano non ci sono per nessuno.
Essi sono altrove, molto più lontano della notte, molto più in alto del giorno, nell'abbagliante splendore del loro amore.

:date:


Posted by boban on 21-03-2005 14:25:

scusa Flavia, ma il server multithread di cui parli equivale a dire multiutente?


Posted by Flavia on 22-03-2005 08:27:

Si, un server multithread che fa "partire" tanti thread diversi associati a vari processi!
Ovvero nella classe server avrai solamente una cosa del genere:
{
.....
Socket socket;
while(true) {
ServerThread t= new ServerThread(socket);
t.start();}
..}

e tutte le funzioni/operazioni le implementi nella classe

class ServerThread extends Thread

che implementerà un costruttore ServerThread e un metodo run che svolge proprio le fuznioni richieste (calcolare una somma ad esempio!).

Chiaro?Quindi il server "normale" si preoccupa solo di far partire un thread, non esegue nessun altra operazione o calcola, quindi "sbologna" tutto il lavoro al thread "t", che è un oggetto di tipo ServerThread.
Le sue azioni e il costruttore verranno indi implementate in una nuova classe, "ServerThread" che estende la classe Thread!
:-D

Se vuoi e se trovo tempo, ti scrivo il codice che ho fatto io all'esame!
:ciao:

__________________
I ragazzi che si amano si baciano in piedi contro le porte della notte, e la gente che passa li punta con il dito, ma i ragazzi che si amano non ci sono per nessuno ed è la loro ombra soltanto che trema nella notte.
Stimolando la rabbia dei passanti, la loro rabbia il loro disprezzo le risa la loro invidia.
I ragazzi che si amano non ci sono per nessuno.
Essi sono altrove, molto più lontano della notte, molto più in alto del giorno, nell'abbagliante splendore del loro amore.

:date:


Posted by boban on 22-03-2005 09:35:

Originally posted by Flavia

Se vuoi e se trovo tempo, ti scrivo il codice che ho fatto io all'esame!
:ciao:



grazie...se riesci, ancor meglio...grazie!:D;):approved:


Posted by urcodiaz on 22-03-2005 12:08:

se lo posti mi fai un favorone grazie!!

__________________
:boing:


Posted by GinoPilotino on 22-03-2005 15:12:

Originally posted by Flavia
Se vuoi e se trovo tempo, ti scrivo il codice che ho fatto io all'esame!
:ciao:

è una ruota che gira :D


Posted by urcodiaz on 22-03-2005 17:59:

Per le domande su c chiede anche i vari tipi di errore?
Da quello che ho capito la programmazione c'è solo in java...ovvio che bisogna sapere anche quella in c, ma di codice vero e proprio da scrivere c'è solo java...confermate?

__________________
:boing:


Posted by joker402 on 22-03-2005 19:22:

Originally posted by urcodiaz
Da quello che ho capito la programmazione c'è solo in java...ovvio che bisogna sapere anche quella in c, ma di codice vero e proprio da scrivere c'è solo java...confermate?
fino a ora si, ha chiesto di scrivere codice solo in java.

__________________
Ogni uomo mente, ma dategli una maschera e sarà sincero.
~ joker402 ~


Posted by urcodiaz on 23-03-2005 12:09:

-Secondo, terzo e quarto modulo: scrittura del CODICE che esegue una particolare richiesta. La richiesta è la stessa per tutti e quattro i turni dell'esame, solo che due di questi dovranno implementarla in UDP, due in TCP.

Ok, ma il server multithread utilizza il protocollo tcp, quindi chi ha avuto l'udp era solo per l'esercizio di completamento...giusto?

__________________
:boing:


Posted by francesco2 on 23-03-2005 12:38:

Originally posted by urcodiaz
-Secondo, terzo e quarto modulo: scrittura del CODICE che esegue una particolare richiesta. La richiesta è la stessa per tutti e quattro i turni dell'esame, solo che due di questi dovranno implementarla in UDP, due in TCP.

Ok, ma il server multithread utilizza il protocollo tcp, quindi chi ha avuto l'udp era solo per l'esercizio di completamento...giusto?


Questa è una domanda interessante, la parte in java il programmma è sempre solo tcp? O no:?

__________________
r


Posted by urcodiaz on 23-03-2005 12:57:

scusate, un'altra domanda cretina...ma i programmi devono essere compilati al momento completamente funzionanti oppure si tratta di un documento da completare tipo verifica?

__________________
:boing:


Posted by Flavia on 23-03-2005 13:30:

Non so per la parte UDP.
i programmi non vanno compilati, li scrivi in blocco notes e basta!
:-D

__________________
I ragazzi che si amano si baciano in piedi contro le porte della notte, e la gente che passa li punta con il dito, ma i ragazzi che si amano non ci sono per nessuno ed è la loro ombra soltanto che trema nella notte.
Stimolando la rabbia dei passanti, la loro rabbia il loro disprezzo le risa la loro invidia.
I ragazzi che si amano non ci sono per nessuno.
Essi sono altrove, molto più lontano della notte, molto più in alto del giorno, nell'abbagliante splendore del loro amore.

:date:


Posted by marduk1983 on 23-03-2005 16:12:

Originally posted by Flavia
Se vuoi e se trovo tempo, ti scrivo il codice che ho fatto io all'esame!
:ciao: [/B]


interesserebbe anche a me!
thanx in advance :)

DOC

__________________
:grr:--I---DaniFilth---I--:grr:

:crazy:ENDLESS SACRIFICE!!!:crazy:


Posted by mt661588 on 26-03-2005 10:20:

ciao ragazzi io ho provato a scrivere il codice per gli esercizi dell'esame provate a controllarli io ero al quarto turno ed avevo lo stesso esercizio della Flavia
qualcuno mi può mandare un pm con scritto come si fa ad alleare i file grazie !!!!!!!!!!!!!!

scusate l'indentazione ma non so come si fa a tenere l'ordine con il forum.
ciao
codice:

SERVER


import java.io.* ;
import java.net.* ;

public class Server {

static ServerSocket ss ;

public static void main ( String[] args ) {
try {
ss = new ServerSocket ( 12000 , 300 ) ;
while ( true ) {
Socket sock = ss.accept() ;
ServerThread t ;
t = new ServerThread ( sock ) ;
t.start() ; }
} catch ( Exception e ) {
e.printStackTrace() ;
}
}
}



CLIENT

import java.io.* ;
import java.net.* ;

public class Client {

static Socket service ;
static OutputStream out ;
static InputStream in ;
static InputStreamReader reader ;
static BufferedReader myInput ;

public static void main ( String[] args ) {
try {
service = new Socket ( "localhost" , 12000 ) ;
out = service.getOutputStream() ;
in = service.getInputStream() ;
System.out.println( "Inserisci l'operazione da effettuare, gli operandi devono essere separati da uno spazio" );
reader = new InputStreamReader ( System.in ) ;
myInput = new BufferedReader ( reader ) ;
String frase = myInput.readLine() ;
frase = frase + '\n' ;
for ( int i = 0 ; i < frase.length() ; i++ ) {
out.write ( ( int ) frase.charAt ( i ) ) ;
}

int c ;
String ris = "" ;
while ( ( c = in.read() ) != 10 ) {
ris = ris + ( char ) c ;
}
int risultato = Integer.parseInt ( ris ) ;
if ( risultato != -1 ) {
System.out.println ( "Il risultato e' " + risultato ) ;
if ( ( risultato % 2 ) == 0 ) {
out.write ( 0 ) ;
} else {
out.write ( 1 ) ;
}
} else {
System.out.println("Non e' possibile effettuare l'operazione");
}
service.close() ;
} catch ( Exception e ) {
e.printStackTrace() ;
}
}
}


SERVERHTREAD

import java.io.* ;
import java.net.* ;
import java.util.* ;
import java.lang.* ;

public class ServerThread extends Thread {

static Socket service ;
static OutputStream out ;
static InputStream in ;
StringTokenizer token ;
int risultato ;

public ServerThread ( Socket s ) {
service = s ;
}

public void run() {
try {
out = service.getOutputStream() ;
in = service.getInputStream() ;
String frase = "" ;
int c ;
while ( ( c = in.read() ) != 10 ) {
frase = frase + ( char ) c ;
}
token = new StringTokenizer ( frase , " " ) ;
int num1 = Integer.parseInt ( token.nextToken() ) ;
char op = token.nextToken().charAt ( 0 ) ;
int num2 = Integer.parseInt ( token.nextToken() ) ;

switch ( op ) {
case '+' :
risultato = num1 + num2 ;
break ;
case '-' :
if ( num1 > num2 ) {
risultato = num1 - num2 ;
} else {
risultato = -1 ;
}
break ;
case '*' :
risultato = num1 * num2 ;
break ;
case '/' :
if ( num1 > num2 ) {
risultato = num1 / num2 ;
} else {
risultato = -1 ;
}
break ;
}
String ris = Integer.toString ( risultato ) + '\n' ;
for ( int j = 0 ; j < ris.length() ; j++ ) {
out.write ( ris.charAt ( j ) ) ;
}

int risposta = in.read() ;
if ( risposta == 0 ) {
System.out.println ( "Il risultato e' pari" ) ;
} else {
System.out.println ( "Il risultato e' dispari" ) ;
}
service.close() ;
} catch ( Exception e ) {
e.printStackTrace() ;
}
}
}


Posted by yeah on 26-03-2005 19:55:

Usa i tag {code} e {/code}, con le parentesi quadre :)

Qual'è il problema con il codice?

__________________
?


Posted by mt661588 on 27-03-2005 10:56:

ho voluto solo postarlo se qualcuno lo controlla è meglio credo di averlo fatto giusto, magari può essere utile a qualcuno ciao


Posted by marduk1983 on 27-03-2005 11:44:

infatti io ti ringrazio!!!
tanx :cool:

Originally posted by mt661588
ho voluto solo postarlo se qualcuno lo controlla è meglio credo di averlo fatto giusto, magari può essere utile a qualcuno ciao

__________________
:grr:--I---DaniFilth---I--:grr:

:crazy:ENDLESS SACRIFICE!!!:crazy:


Posted by urcodiaz on 27-03-2005 12:08:

scusate ma se uno non ha mai programmato in java, come fa, una volta sistemata la struttura del client e del server, a scrivere il codice con le richieste effettive del client e le risposte del server?
Invento al momento?
E' fondamentale che sia giusto tutto o l'importante è solo che la struttura client server sia corretta?

__________________
:boing:


Posted by yeah on 27-03-2005 21:28:

Originally posted by mt661588

ho voluto solo postarlo se qualcuno lo controlla è meglio credo di averlo fatto giusto, magari può essere utile a qualcuno ciao

ah ok :)

Originally posted by urcodiaz

scusate ma se uno non ha mai programmato in java, come fa, una volta sistemata la struttura del client e del server, a scrivere il codice con le richieste effettive del client e le risposte del server?
Invento al momento?
E' fondamentale che sia giusto tutto o l'importante è solo che la struttura client server sia corretta?

Penso che un po di pratica sarebbe stata di aiuto. Se ne hai inventare al momento riesce più facile.

Dipende da cosa intendi per struttura: se sbagli un ';' o metti un != invece di un == in una condizione è meno grave che scrivere send() invece che revc() :)

__________________
?


Posted by josh on 28-03-2005 12:47:

ciao a tutti,volevo farvi una semplice domanda, ma l'esame del 1 aprile, in particolare la teoria cosa sarà strutturata?

Crocette o croccette, domande aperte, V o F?

grazie mille.


Posted by marduk1983 on 28-03-2005 13:01:

se ne hai la possibilità potresti mettere qualke spiegazione del tuo codice per ki come me non è che ci capisca troppo?
TANX!!!!!
ciauu

Originally posted by mt661588
ho voluto solo postarlo se qualcuno lo controlla è meglio credo di averlo fatto giusto, magari può essere utile a qualcuno ciao

__________________
:grr:--I---DaniFilth---I--:grr:

:crazy:ENDLESS SACRIFICE!!!:crazy:


Posted by papousek on 28-03-2005 15:10:

Originally posted by mt661588
ho voluto solo postarlo se qualcuno lo controlla è meglio credo di averlo fatto giusto, magari può essere utile a qualcuno ciao


grazie mille...una domanda...ma il tuo codice postato è per TCP o UDP??

__________________
Break Out


Posted by papousek on 28-03-2005 16:30:

Originally posted by Flavia
Si, un server multithread che fa "partire" tanti thread diversi associati a vari processi!
Ovvero nella classe server avrai solamente una cosa del genere:
{
.....
Socket socket;
while(true) {
ServerThread t= new ServerThread(socket);
t.start();}
..}

e tutte le funzioni/operazioni le implementi nella classe

class ServerThread extends Thread

che implementerà un costruttore ServerThread e un metodo run che svolge proprio le fuznioni richieste (calcolare una somma ad esempio!).

Chiaro?Quindi il server "normale" si preoccupa solo di far partire un thread, non esegue nessun altra operazione o calcola, quindi "sbologna" tutto il lavoro al thread "t", che è un oggetto di tipo ServerThread.
Le sue azioni e il costruttore verranno indi implementate in una nuova classe, "ServerThread" che estende la classe Thread!
:-D

Se vuoi e se trovo tempo, ti scrivo il codice che ho fatto io all'esame!
:ciao:


da quella che ha scritto flavia...ho dedotto queste cose...(correggetemi se sbaglio)..allora...

se devo implementare un serverThread...nel mio file di testo...(per la parte del server)...inserisco la classe Server e la classe ServerThread exitends Thread giusto??

quindi quello di cui ha parlato flavia prima era un serverthread..nn un server multithread...o mi sbaglio??nn ci sto a capi piu niente DIAMINE...

la differenza tra serverThread e multiThread in termini di codice....QUAL E'????

GRAZIE SAI...

__________________
Break Out


Posted by mt661588 on 28-03-2005 19:14:

questo e il serverThread

import java.io.* ;
import java.net.* ;
import java.util.* ;
import java.lang.* ;

public class ServerThread extends Thread {

static Socket service ;
static OutputStream out ;
static InputStream in ;
StringTokenizer token ;
int risultato ;

// Costruttore del thread, ricevo la socket.
public ServerThread ( Socket s ) {
service = s ;
}

public void run() {
try {
// Inizializzo OutputStream.
out = service.getOutputStream() ;
// Inizializzo InputStream.
in = service.getInputStream() ;

/* Ricevo l'operazione dal client, la trasferisco
* all'interno di una stringa.
*/
String frase = "" ;
int c ;
while ( ( c = in.read() ) != 10 ) {
frase = frase + ( char ) c ;
}

// Creo uno StringTokenizer su frase per dividere gli operandi.
token = new StringTokenizer ( frase , " " ) ;
// Estraggo il primo numero.
int num1 = Integer.parseInt ( token.nextToken() ) ;
// Estraggo l'operatore.
char op = token.nextToken().charAt ( 0 ) ;
// Estraggo il secondo numero.
int num2 = Integer.parseInt ( token.nextToken() ) ;

// Casi dell'operatore.
switch ( op ) {
// Caso della somma.
case '+' :
risultato = num1 + num2 ;
break ;
/* Caso della differenza, se num1 < num2 allora
* non è possibile fare la differenza.
*/
case '-' :
if ( num1 > num2 ) {
risultato = num1 - num2 ;
} else {
risultato = -1 ;
}
break ;
// Caso della moltiplicazione.
case '*' :
risultato = num1 * num2 ;
break ;
/* Caso della divisione, se num1 < num2 allora
* non è possibile fare la divisione.
*/
case '/' :
if ( num1 > num2 ) {
risultato = num1 / num2 ;
} else {
risultato = -1 ;
}
break ;
}

// Creo una stringa con il risultato e un endline.
String ris = Integer.toString ( risultato ) + '\n' ;
// Passo il risultato al client.
for ( int j = 0 ; j < ris.length() ; j++ ) {
out.write ( ris.charAt ( j ) ) ;
}

// Ricevo una risposta dal client.
int risposta = in.read() ;
// Controllo se la risposta è pari o dispari.
if ( risposta == 0 ) {
System.out.println ( "Il risultato e' pari" ) ;
} else {
System.out.println ( "Il risultato e' dispari" ) ;
}

// Chiudo la connessione.
service.close() ;
} catch ( Exception e ) {
e.printStackTrace() ;
}
}
}


questo è il client

import java.io.* ;
import java.net.* ;

public class Client {

static Socket service ;
static OutputStream out ;
static InputStream in ;
static InputStreamReader reader ;
static BufferedReader myInput ;

public static void main ( String[] args ) {
try {
// Creo una Socket per comunicare con il server sulla stessa macchina.
service = new Socket ( "localhost" , 12000 ) ;
// Iniziallizzo OutputStream.
out = service.getOutputStream() ;
// Iniziallizzo InputStream.
in = service.getInputStream() ;
System.out.println( "Inserisci l'operazione da effettuare separando gli operatori da uno spazio" );

// Inizializzo le variabili per leggere da tastiera.
reader = new InputStreamReader ( System.in ) ;
myInput = new BufferedReader ( reader ) ;
// Leggo ciò che l'utente ha inserito.
String frase = myInput.readLine() ;
// Aggiungo '\n' per far terminare la stringa.
frase = frase + '\n' ;

// Passo al server l'operazione da effettuare.
for ( int i = 0 ; i < frase.length() ; i++ ) {
out.write ( ( int ) frase.charAt ( i ) ) ;
}

// Ricevo il risultato dal server.
int c ;
String ris = "" ;
while ( ( c = in.read() ) != 10 ) {
ris = ris + ( char ) c ;
}

// Trasformo la stringa passata in int.
int risultato = Integer.parseInt ( ris ) ;
/* Eseguo un controllo se il risultato è diverso da -1,
* allora stampo il risultato a video e passo al server
* il risultato dell'operazione per il controllo se è pari
* o dispari; altrimenti stampo che non è possibile effettuare
* l'operazione righiesta.
*/
if ( risultato != -1 ) {
System.out.println ( "Il risultato è " + risultato ) ;
if ( ( risultato % 2 ) == 0 ) {
out.write ( 0 ) ;
} else {
out.write ( 1 ) ;
}
} else {
System.out.println("Non è possibile effettuare l'operazione");
}

// Chiudo la connessione.
service.close() ;
} catch ( Exception e ) {
e.printStackTrace() ;
}
}
}

questo è il server


import java.io.* ;
import java.net.* ;

public class Server {

static ServerSocket ss ;

public static void main ( String[] args ) {
try {
// Creo una ServerSocket.
ss = new ServerSocket ( 12000 , 300 ) ;
while ( true ) {
// Accetto di effettuare un servizio per i client.
Socket sock = ss.accept() ;
ServerThread t ;
// Passo ai thread il compito di effettuare le operazioni richieste dal client .
t = new ServerThread ( sock ) ;
// Avvio il thread.
t.start() ;
}
} catch ( Exception e ) {
e.printStackTrace() ;
}
}
} ciao


Posted by mt661588 on 28-03-2005 19:15:

non so rispondere alla tua domanda, cmq quello che ho fatto io è in tcp spero non vi crei problemi nella compilazione ciao


Posted by papousek on 28-03-2005 20:58:

no..il programma funziona perfettamente..grazie...è questo dubbio tra ServerThread e ServerMultithread che mi da noia...

cmq grazie...inizio a capirci qualcosa...

__________________
Break Out


Posted by francesco2 on 29-03-2005 08:34:

Ma sapete se in qualche turno degli esami passati ( gli ultimi 2 ) è stato richiesto di implementare un client ed un server Udp? Fino ad ora si è sempre parlato solo di tcp multithread, vero?

__________________
r


Posted by josh on 29-03-2005 09:50:

Ragazzi sono ancora alla prese con il capitolo 3 del libro in italiano, ero arrivato verso la fine vi chiedo chiaramente e prego a chi lo saa di rispondermi..

L'atm va fatti?
il 3.7 (compresi tutti quei sottoparagrafi incasinati)??

Thanks...

ps: risrivo la mia domanda di prima, è il compito (parte teorica) sarà solo a crocettE?


helpp


Posted by luna on 29-03-2005 10:30:

Originally posted by josh
Ragazzi sono ancora alla prese con il capitolo 3 del libro in italiano, ero arrivato verso la fine vi chiedo chiaramente e prego a chi lo saa di rispondermi..

L'atm va fatti?
il 3.7 (compresi tutti quei sottoparagrafi incasinati)??

Thanks...

ps: risrivo la mia domanda di prima, è il compito (parte teorica) sarà solo a crocettE?


helpp



L'atm va fatto in modo superficiale, mentre l'esame sara' tutto a crocette, ovviamente sto parlando della parte teorica.

__________________
"Solamente il cuore ti permette di vedere chiaramente.L'essenziale e' invisibile agli occhi"
bisogna vivere "alla giornata", senza crearsi troppe aspettative. quello che viene sarà un "di più" ed è da mettere nel salvadanaio.
Sono troppo una grilla petulante :D by Nous


Posted by Principessa on 29-03-2005 12:49:

Originally posted by francesco2
Ma sapete se in qualche turno degli esami passati ( gli ultimi 2 ) è stato richiesto di implementare un client ed un server Udp? Fino ad ora si è sempre parlato solo di tcp multithread, vero?


Certo, nell'appello del 1 Marzo c'era anche client e server UDP!


Posted by francesco2 on 29-03-2005 12:52:

non lo sapevo... pensavo ci fosse da scrivere solo client e server tcp.
Anche perchè l'udp non è multithread.

__________________
r


Posted by josh on 29-03-2005 13:36:

scusa luna mentre il 3.7 e tutti i suoi sotto paragrafi...
grazie per la risposta precedente...


Posted by papousek on 29-03-2005 15:10:

Originally posted by francesco2
non lo sapevo... pensavo ci fosse da scrivere solo client e server tcp.
Anche perchè l'udp non è multithread.


e invece no...cè il multithread anche in udp...perche nell ultimo esame...per laboratorio...il modulo 3 (io ero al turno 1) è esattamente Server multiThread Java (UDP) di cui ho fatto un onorevole 0%...nn conoscendo UDP in java....

Salùt!!

...e cmq...nessuno che sappia rispondere alla mia domanda precedente??

...e poi secondo me...l asrgomento UDP in java nn è stato trattato molto bene..e il codice proposto da Cassiano sulle slide Udp in java è un po complesso per i miei canoni....

..aveveano detto che l importante era saper maneggiare le socket e costruirci su qualcosa...ma quel codice (sempre quello di Cassiano),per me è davvero complesso....

Peace

__________________
Break Out


Posted by cia on 29-03-2005 15:15:

non ci capisco + un tubo...

cmq... tutte le classi utilizzate c'erano nelle risorse?? non che mi siano particolarmente utili...

anch'io vorrei sapere differenza tra thread e multithread... e multithread in udp...

__________________
But until we unite
I live for that night
Wait for time
two souls entwine


Posted by francesco2 on 29-03-2005 15:15:

Ti ringrazio Papousek, nessuno ha degli esempi veramenti banali da postare?

__________________
r


Posted by papousek on 29-03-2005 15:31:

esempi??

sul sito del corso...cè un semplice clent e un semplice server fatti alle prime lezioni...

semplicemente..quando il client si connette al server....esso stapma a schermo "Hello networld" o una roba simile...

semplice..da cui si puo partire per ragionare..cmq il tutto è fatto sempre in TCP..e ripeto l UDP in questo corso è stato trattato in modo nn ragionato...tantè che all esame..è stato un crimine chiedere un multithread in udp....o un serverthread...io del codice..nn ho capito granchè...

cmq il sito è

http://reti.dico.unimi.it sezione materilae didattico penso (il file è firstlez.zip)

...nn so postare file

__________________
Break Out


Posted by cia on 29-03-2005 15:35:

sul sito del prof sono usciti gli assegnamenti... http://homes.dico.unimi.it/~gfp/ReC...ni-01-04-05.xls

Ven 01.04.05 - Ore 09:30 - Silab - Aula Sigma (Turno 1)
Ven 01.04.05 - Ore 11:30 - Silab - Aula Sigma (Turno 2)
Ven 01.04.05 - Ore 15:30 - Silab - Aula Sigma (Turno 3)
Ven 01.04.05 - Ore 17:30 - Silab - Aula Sigma (Turno 4)

__________________
But until we unite
I live for that night
Wait for time
two souls entwine


Posted by francesco2 on 29-03-2005 15:37:

Ancora grazie, anche io ho più difficoltà con l'udp per ora mi auguro di non trovarmelo, ma spero di capirci qualcosa in più prima di venerdì!

__________________
r


Posted by papousek on 29-03-2005 15:38:

che sia quella nuova creata ad HOC???

__________________
Break Out


Posted by cia on 29-03-2005 15:40:

sìssì l'aula sigma è quella! mi sono editato... prima non avevo letto silab-__-

__________________
But until we unite
I live for that night
Wait for time
two souls entwine


Posted by papousek on 29-03-2005 16:52:

mmm..quello che mi chiedo ormai da molto..e a cui nn ne vengo a capo è questo...

allora...nell esame ormai è risaputo cio che chiede

1)domande su c
2)client (TCP/UDP a seconda del turno)
3)serverthread (TCP/UDP a seconda del turno)
4)server multithread (TCP/UDP a seconda del turno)

ecco...

mi chiede il client..ok va bene..compilo secondo le richieste...
mi chiede il server thread...ok..creo il server...con il thread...creo il server thread con il costruttore e il metodo run che svolge le richieste datemi dal prof...

ma al server multithread che devo fare???io di esempi nn ho visti...nel codice..che devo scrivere??

AIUTATEMI VE NE PREGO...

__________________
Break Out


Posted by josh on 29-03-2005 17:24:

Originally posted by josh
scusa luna mentre il 3.7 e tutti i suoi sotto paragrafi...
grazie per la risposta precedente...



please!!

?????


Posted by papousek on 29-03-2005 17:32:

guarda...io l atm....l ho studiato tutto...nn sapendo se andava fatto o meno...

per cui ti direi di leggerlo....

__________________
Break Out


Posted by francesco2 on 30-03-2005 08:53:

Originally posted by papousek
mmm..quello che mi chiedo ormai da molto..e a cui nn ne vengo a capo è questo...

allora...nell esame ormai è risaputo cio che chiede

1)domande su c
2)client (TCP/UDP a seconda del turno)
3)serverthread (TCP/UDP a seconda del turno)
4)server multithread (TCP/UDP a seconda del turno)

ecco...

mi chiede il client..ok va bene..compilo secondo le richieste...
mi chiede il server thread...ok..creo il server...con il thread...creo il server thread con il costruttore e il metodo run che svolge le richieste datemi dal prof...

ma al server multithread che devo fare???io di esempi nn ho visti...nel codice..che devo scrivere??

AIUTATEMI VE NE PREGO...





E' vero nell'esame di laboratorio c'erano delle domande di teoria di C, qualcuno si ricorda le domande? Che tipo di domande?
Sto incominciando a preoccuparmi sul serio....

__________________
r


Posted by francesco2 on 30-03-2005 09:26:

Ne prendo un pò in giro:

Tutte domande sulle primitive, tipo:
- quali parametri della primitiva socket()devo usare per creare una socket UDP?
- cosa fa la primitiva listen(20)?


Dove si possono trovare le info riguardanti le domande di teoria?

__________________
r


Posted by boban on 30-03-2005 09:56:

:?:?Ma nelle diapositive di Cassiano UDP e JAVA....quando crea l'oggetto QuoteServerThread...da dove la tira fuori questo tipo di oggetto? non esiste nelle api java....grazie
qualcuno che me lo sa spiegare??


Posted by josh on 30-03-2005 10:39:

Originally posted by papousek
guarda...io l atm....l ho studiato tutto...nn sapendo se andava fatto o meno...

per cui ti direi di leggerlo....


ah ok! grAZIE..Mentre gli altri paragrafi sempre del libro in italiano come il 3.7.1 (fairness) o 3.7 (quelli del controllo della congestione tcp tipo "partenza lenta" slow start...tu li hai visti/studiati?

Pongo questa domanda anche a tutti gli altri che buttino uno sguardo a questa discussione....scusate se insisto ma non sono un frequentante del corso e quindi non so bene che devo fare...inoltre qui il tempo stringe e sono indietrissimo,sto cercando di capire gli argomente "clou " che non si possono non studiare....

Dato che mi manca ancora il CAP. 5 approffito per chiedervi i paragrafi che volendo si possono saltare perchè non ritenuti importanti...

grazie a tutti, buon studio!


Posted by francesco2 on 30-03-2005 10:54:

Le slide di Cassiano per il C sono quelle: Imparare il C in 3 ore?
Se non sono quelle dove le trovo?

__________________
r


Posted by Flavia on 30-03-2005 10:58:

Originally posted by francesco2
Ne prendo un pò in giro:

Tutte domande sulle primitive, tipo:
- quali parametri della primitiva socket()devo usare per creare una socket UDP?
- cosa fa la primitiva listen(20)?


Dove si possono trovare le info riguardanti le domande di teoria?


Le slide di Cassiano dal sito reti.dico.unimi.it sono 3:
-UDP e JAVA
-Imparare il C in tre ore
-Socket programming in C with TCP

Le ultime due ti bastano per passare col 90% la parte sul C!

__________________
I ragazzi che si amano si baciano in piedi contro le porte della notte, e la gente che passa li punta con il dito, ma i ragazzi che si amano non ci sono per nessuno ed è la loro ombra soltanto che trema nella notte.
Stimolando la rabbia dei passanti, la loro rabbia il loro disprezzo le risa la loro invidia.
I ragazzi che si amano non ci sono per nessuno.
Essi sono altrove, molto più lontano della notte, molto più in alto del giorno, nell'abbagliante splendore del loro amore.

:date:


Posted by Flavia on 30-03-2005 11:00:

Originally posted by boban
:?:?Ma nelle diapositive di Cassiano UDP e JAVA....quando crea l'oggetto QuoteServerThread...da dove la tira fuori questo tipo di oggetto? non esiste nelle api java....grazie
qualcuno che me lo sa spiegare??

L'ha implementato lui..guarda il link nelle slide. Comunque di questo è importante capire come vengono usate le funzioni per il "multisocket" in UDP, cioè come gestire più cose con un solo server in UDP!

__________________
I ragazzi che si amano si baciano in piedi contro le porte della notte, e la gente che passa li punta con il dito, ma i ragazzi che si amano non ci sono per nessuno ed è la loro ombra soltanto che trema nella notte.
Stimolando la rabbia dei passanti, la loro rabbia il loro disprezzo le risa la loro invidia.
I ragazzi che si amano non ci sono per nessuno.
Essi sono altrove, molto più lontano della notte, molto più in alto del giorno, nell'abbagliante splendore del loro amore.

:date:


Posted by Flavia on 30-03-2005 11:02:

Originally posted by papousek
guarda...io l atm....l ho studiato tutto...nn sapendo se andava fatto o meno...

per cui ti direi di leggerlo....

Prini aveva detto che sull'ATM bisogna sapere il MINIMO indispensabile!

__________________
I ragazzi che si amano si baciano in piedi contro le porte della notte, e la gente che passa li punta con il dito, ma i ragazzi che si amano non ci sono per nessuno ed è la loro ombra soltanto che trema nella notte.
Stimolando la rabbia dei passanti, la loro rabbia il loro disprezzo le risa la loro invidia.
I ragazzi che si amano non ci sono per nessuno.
Essi sono altrove, molto più lontano della notte, molto più in alto del giorno, nell'abbagliante splendore del loro amore.

:date:


Posted by francesco2 on 30-03-2005 11:05:

Grazie flavia sei gentilissima.

__________________
r


Posted by Flavia on 30-03-2005 11:05:

Originally posted by Flavia
Le slide di Cassiano dal sito reti.dico.unimi.it sono 3:
-UDP e JAVA
-Imparare il C in tre ore
-Socket programming in C with TCP



Le ultime due ti bastano per passare col 90% la parte sul C! Studiatevi benissimo questi due blocchetti di slide e siete a posto! Poi scricatevi qua dal dsy, in un thread che non ricordo, esempi di client e server in C, SIA IN TCP CHE UDP, e leggeteveli bene, cercando di cogliere le differenze tra i metodi che usa per il TCP e l'UDP!

Ad esempio, in UDP usa recvfrom e send to, in TCP recv e send. Ecco, solo sapendo questo, avete già fatto due risposto giuste su dieci nella parte di C! :-D

__________________
I ragazzi che si amano si baciano in piedi contro le porte della notte, e la gente che passa li punta con il dito, ma i ragazzi che si amano non ci sono per nessuno ed è la loro ombra soltanto che trema nella notte.
Stimolando la rabbia dei passanti, la loro rabbia il loro disprezzo le risa la loro invidia.
I ragazzi che si amano non ci sono per nessuno.
Essi sono altrove, molto più lontano della notte, molto più in alto del giorno, nell'abbagliante splendore del loro amore.

:date:


Posted by boban on 30-03-2005 11:23:

Originally posted by Flavia
Ovvero nella classe server avrai solamente una cosa del genere:
{
.....
Socket socket;
while(true) {
ServerThread t= new ServerThread(socket);
t.start();}
..}


Flavia, quindi all'appello in uno dei tre file txt che devo riempire, basta inserire le righe di codice che implementano la classe server...come quelle che hai scritto tu qui sopra?e basta, vero?


e tutte le funzioni/operazioni le implementi nella classe

class ServerThread extends Thread

che implementerà un costruttore ServerThread e un metodo run che svolge proprio le fuznioni richieste (calcolare una somma ad esempio!).


..e qui (nel secondo file txt, quello del ServerMultithread) dovro implementare il costruttore e il metodo run??

Ho capito bene??
grazie


Posted by Flavia on 30-03-2005 11:31:

Hai capito benissimo!
La classe server che fa partire il thread sono 4 righe di codice!
E nel serverthread sono due metodi: il costruttore e il run!
:-D

__________________
I ragazzi che si amano si baciano in piedi contro le porte della notte, e la gente che passa li punta con il dito, ma i ragazzi che si amano non ci sono per nessuno ed è la loro ombra soltanto che trema nella notte.
Stimolando la rabbia dei passanti, la loro rabbia il loro disprezzo le risa la loro invidia.
I ragazzi che si amano non ci sono per nessuno.
Essi sono altrove, molto più lontano della notte, molto più in alto del giorno, nell'abbagliante splendore del loro amore.

:date:


Posted by francesco2 on 30-03-2005 11:39:

Cosa si intende per costruttore? Il programma con tutte le funzioni che deve svolgere?
Il run?
Grazie
Mi rendo conto di non essere molto preparato...

__________________
r


Posted by Flavia on 30-03-2005 11:58:

allora, prendendo come riferimento la richeista dell'appello del 1 marzo in TCP: scrivi un client che invii una stringa con una operazione al server; il server fa partire un thread che gestirà le funzioni; la classe serverthread calcolerà il risultato dell'operazione e lo restituirà al client; il client ritornerà al server se il risultato è pari o dispari.

Ecco come ho fatto io all'esame:


import java.io.*;
import java.net.*;

class client {
public static void main (String args[]) throws Exception {
String operazione=" 2 + 5";
// è importante mettere gli spazi tra i numeri e il segno di operazione perchè poi useremo la classe Stringtokenizer
int risultato; //il risultato che riceverà dal server
String pari-dispari=" ";
Socket s=new Socket ("localhost", 1234); //1234 è la porta

//creo le variabili rispettivamente per leggere dalla socket e scrivere dalla socket
BufferedReader inFromServer = new BufferedReader (new InputStreamReader(s.getInputStream()));
DataOutputStream outToServer = new DataOutputStream (s.getOutputStream());

//la invio al server
outToServer.writeBytes(operazione);

//ricevo il risultato dal server
risultato=inFromServer.read();

//L'operatore % calcola il resto della divisione
if ((risultato % 2)= 0)
pari-dispari= "Pari";
else
pari-dispari= "Dispari";

// Invio al server nuovamente
outToServer.writeBytes(pari-dispari);

//chiudo la connessione con la serversocket
s.close();
}
}



import java.io.*;
import java.net.*;

class server {
public static void main (String args[]) throws Exception
ServerSocket server=new ServerSocket(4567, 300);
/* creo la serversocket dove 4567 è la porta e 300 è il # max di connessioni che può accettare contemporaneamente*/


//inizio a creare l'oggetto serverthread
while (true) {
//servizio prende la connessione effettuata sul server
Socket servizio=server.accept();
System.out.println("connessione accettata\n");
//passo i parametri al thread e successivamente lo lancio
Serverthread t = new serverthread (servizio);
t.start();
System.out.println("Thread lanciato\n");
}
}



class serverthread extends Thread {
Socket s=null;
String daClient, versoClient;

//Costruttore: semplicmente dice che la coket su cui deve andare in ascolto è quella che gli è stata passata come parametro quando il costruttore è stato invocato nel server
public Serverthread (Socket servizio) {
//metto nella socket s del thread il valore della socket servizio passata dal server
this.s=servizio;
}

public void run() {
try {
System.out.println("Thread in esecuzione\n");
//creo le variabili per leggere e scrivere dalla socket s
BufferedReader inFromClient = new BufferedReader (new InputStreamReader(s.getInputStream()));
DataOutputStream outToClient = new DataOutputStream (s.getOutputStream());

//leggo la stringa inviata dal client
daClient=inFromClient.readLine();

//Uso la classe StringTokenizer per suddividere la stringa che mi è stata inviata in 3 "token", ovvero in tre pezzi: i due addendi e il segno di operazione
StringTokenizer tokenizedLine= new StringTokenizer(daClient);
int a;
int b;
String operatore;
double risultato;
a = getInt.tokenizedLine.nextToken(); //Il primo numero è il primo token
operatore = tokenizedLine.nextToken(); //Il segno di operazione è il secondo token, cioè il secondo pezzo
b = getInt.tokenizedLine.nextToken(); // il secondo numero è il terzo token, cioè il token ancora successivo

//Non ricordo assolutamente se il metodo per trasformare una stringa in intero fosse GetInt..in ogni caso, controllatevi il metodo giusto sul sito della Sun. N.B.:la classe StringTokenizer divide una stringa in tante sottostringhe, quindi i numeri presenti in una stringa vengono considerati STRINGHE, non numeri, chiaro?

switch(operatore) // Io non so che segno di operazione abbia usato il client
case("+"):
risultato=a + b;
case("-"):
risultato=a - b;
case("*"):
risultato=a * b;
case("/"):
risultato=a / b;


outToClient.write(risultato);

//Ricevo il risultato del pari-dispari
String pari-dispari;
inFromClient.readline(pari-dispari);
System.out.println ("Il risultato è un numero +" pari-dispari);

//chiudo la connessione col client
s.close();

}
}


Macheranno di sicuro qualche parentesi e qualcosa sarà errato perchè ho fatto tutto di fretta..comunque il senso è quello!
All'esame è anche possibile consultare la documentazione online dei metodi di Java..quindi se avreste dubbi su come convertire una stringa in intero, su come usare la classe StringTokenizer, su come funziona il DataOutputStream..non preoccupatevi..avete la documentazione (almeno all'ultimo esame era così!!!)
:-D

__________________
I ragazzi che si amano si baciano in piedi contro le porte della notte, e la gente che passa li punta con il dito, ma i ragazzi che si amano non ci sono per nessuno ed è la loro ombra soltanto che trema nella notte.
Stimolando la rabbia dei passanti, la loro rabbia il loro disprezzo le risa la loro invidia.
I ragazzi che si amano non ci sono per nessuno.
Essi sono altrove, molto più lontano della notte, molto più in alto del giorno, nell'abbagliante splendore del loro amore.

:date:


Posted by francesco2 on 30-03-2005 12:36:

Sei un tesoro!

__________________
r


Posted by papousek on 30-03-2005 15:34:

io ancora nn capisco....quando ti chiede di sviluppare il server gli mandi il txt della classe Server....quando ti chiede di sviluppare il serverthread gli mandi il txt con la classe ServerThread extends Thread e balle varie...

..ma quando ti chiede di sviluppare il multithread che gli mandi??nn vedo classi Multithread...boh...

ciau

__________________
Break Out


Posted by papousek on 30-03-2005 15:37:

Originally posted by Flavia
allora, prendendo come riferimento la richeista dell'appello del 1 marzo in TCP: scrivi un client che invii una stringa con una operazione al server; il server fa partire un thread che gestirà le funzioni; la classe serverthread calcolerà il risultato dell'operazione e lo restituirà al client; il client ritornerà al server se il risultato è pari o dispari.

Ecco come ho fatto io all'esame:







Macheranno di sicuro qualche parentesi e qualcosa sarà errato perchè ho fatto tutto di fretta..comunque il senso è quello!
All'esame è anche possibile consultare la documentazione online dei metodi di Java..quindi se avreste dubbi su come convertire una stringa in intero, su come usare la classe StringTokenizer, su come funziona il DataOutputStream..non preoccupatevi..avete la documentazione (almeno all'ultimo esame era così!!!)
:-D


ma tutte ste classi sono un macello....nn ce la faro mai...:(

__________________
Break Out


Posted by Flavia on 30-03-2005 15:39:

un macello????
Se togli i commenti o la cattiva indentazione sono poche righe di codice, peraltro semplicissimo! :-D

Leggili un po'e fidati!

__________________
I ragazzi che si amano si baciano in piedi contro le porte della notte, e la gente che passa li punta con il dito, ma i ragazzi che si amano non ci sono per nessuno ed è la loro ombra soltanto che trema nella notte.
Stimolando la rabbia dei passanti, la loro rabbia il loro disprezzo le risa la loro invidia.
I ragazzi che si amano non ci sono per nessuno.
Essi sono altrove, molto più lontano della notte, molto più in alto del giorno, nell'abbagliante splendore del loro amore.

:date:


Posted by Flavia on 30-03-2005 15:45:

Originally posted by papousek
io ancora nn capisco....quando ti chiede di sviluppare il server gli mandi il txt della classe Server....quando ti chiede di sviluppare il serverthread gli mandi il txt con la classe ServerThread extends Thread e balle varie...

..ma quando ti chiede di sviluppare il multithread che gli mandi??nn vedo classi Multithread...boh...

ciau


Classi multihread??? è il server!

Se guardi la "class server" è appunto la classe di un servermultithread! Cosa significa multithread? che quando riceve una richiesta da un client, "sbologna"il lavoro a un thread, implementato nella classe ServerThread! La classe ServerThread costruisce i thread quindi. E i thread fanno tutto il lavoro richiesto dal client e che il server multithread delega loro!

Client = fa richiesta a un server multirhead (che si chiama così perchè può gestire più richieste contemporaneamente!Come?Semplicemente, facendo partire tanti thread diversi!)

Server multithread = è solo un "attivatore" di thread, non fa nulla se non creare il thread che si occuperà della richeista del client!

Serverthread = è una classe che costruisce thread (con il metodo costruttore) e dice loro cosa fare (metodo run!).

Il server multithread che tu non sai dove pescare è semplicemente la "class server", che si chiama giustamente multithread perchè gestisce la creazione di "multi" (molti) thread!
:ciao:

__________________
I ragazzi che si amano si baciano in piedi contro le porte della notte, e la gente che passa li punta con il dito, ma i ragazzi che si amano non ci sono per nessuno ed è la loro ombra soltanto che trema nella notte.
Stimolando la rabbia dei passanti, la loro rabbia il loro disprezzo le risa la loro invidia.
I ragazzi che si amano non ci sono per nessuno.
Essi sono altrove, molto più lontano della notte, molto più in alto del giorno, nell'abbagliante splendore del loro amore.

:date:


Posted by papousek on 30-03-2005 15:59:

grazie...

è che a me java nn mi entra in testa...da sempre....saro stupido...boh..ma riesco solamente a capirci poco....

1000 grazie...

__________________
Break Out


Posted by Flavia on 30-03-2005 16:01:

No problem!
In bocca al lupo a tutti!
:ciao:

__________________
I ragazzi che si amano si baciano in piedi contro le porte della notte, e la gente che passa li punta con il dito, ma i ragazzi che si amano non ci sono per nessuno ed è la loro ombra soltanto che trema nella notte.
Stimolando la rabbia dei passanti, la loro rabbia il loro disprezzo le risa la loro invidia.
I ragazzi che si amano non ci sono per nessuno.
Essi sono altrove, molto più lontano della notte, molto più in alto del giorno, nell'abbagliante splendore del loro amore.

:date:


Posted by francesco2 on 30-03-2005 16:02:

Idem, sono un pò tardo pure io...

__________________
r


Posted by Flavia on 30-03-2005 16:08:

Io per studiare laboratorio di reti avrò ricopiato decine di volte i codici client e server TCP e UDP dal libro..per essere sicura di ricordarmi bene i nomi dei metodi, cosa usare e cosa no..

alla fine diventi "flessibile" anche ad usarli, senza impararli a memoria!
E il codice non è difficile, bisogna imparare cosa vogliono dire i metodi! :-D

__________________
I ragazzi che si amano si baciano in piedi contro le porte della notte, e la gente che passa li punta con il dito, ma i ragazzi che si amano non ci sono per nessuno ed è la loro ombra soltanto che trema nella notte.
Stimolando la rabbia dei passanti, la loro rabbia il loro disprezzo le risa la loro invidia.
I ragazzi che si amano non ci sono per nessuno.
Essi sono altrove, molto più lontano della notte, molto più in alto del giorno, nell'abbagliante splendore del loro amore.

:date:


Posted by papousek on 30-03-2005 16:26:

sono due ore che sto facendo dei codici....e nn mi funzionano...perchè??perchè??

******

codice rimosso


******

__________________
Break Out


Posted by papousek on 30-03-2005 17:23:

sclerando un po...ho creato un semplicissimo client e un semplicissimo server....dove avviene una semplice connessione...se puo servire d aiuto a qualcuno....

CLIENT

import java.io.*;
import java.net.*;

class Clientprova {

public static void main (String args[]) throws Exception
{
Socket connection;

connection = new Socket("localhost", 6000);
System.out.println("Stabilita la connessione");

connection.close();

}
}

SERVER

import java.io.*;
import java.net.*;


class Serverprova {
public static void main (String args[]) throws Exception
{
ServerSocket Connessione;
Socket Conn;

Connessione = new ServerSocket(6000, 300);
Conn = Connessione.accept();
Connessione.close();
System.out.println("Stabilita la connessione");


Conn.close();

}
}

una domanda...se dopo ...(String args[]) metto il throws exception...dopo nn devo mettere la try/catch giusto???o sbaglio??

boban...questo dovrebbe andarti....tiè :D

__________________
Break Out


Posted by Flavia on 30-03-2005 19:27:

Puoi scegliere tu se metterla o no, ovvero se far gestire queste eccezioni o no!

__________________
I ragazzi che si amano si baciano in piedi contro le porte della notte, e la gente che passa li punta con il dito, ma i ragazzi che si amano non ci sono per nessuno ed è la loro ombra soltanto che trema nella notte.
Stimolando la rabbia dei passanti, la loro rabbia il loro disprezzo le risa la loro invidia.
I ragazzi che si amano non ci sono per nessuno.
Essi sono altrove, molto più lontano della notte, molto più in alto del giorno, nell'abbagliante splendore del loro amore.

:date:


Posted by urcodiaz on 31-03-2005 09:13:

ma se trovo da svolgere il server multithread in UDP, devo realizzarlo utilizzando la classe Multicast? Così creo un gruppo a cui invio gli stessi pacchetti...però mi sorge un dubbio...così facendo è come se gestissi più client alla volta? Non avevamo detto che il server multithread per UDP non esisteva??

Altra domanda per le risposte in c: il primo parametro di ogni system call è "int sd" che sarebbe il descrittore della socket...ma è un numero o è il nome della socket? listen(20) vuol dire che si scegle la socket 20 della lista per essere accettata oppure indica il numero di client nella coda e quindi il baclog?

grazie a tutti!

__________________
:boing:


Posted by francesco2 on 31-03-2005 09:20:

Sinceramente non ti saprei aiutare...
se stai provando a svolgere del codice in udp dopo hai voglia di postarlo?

__________________
r


Posted by urcodiaz on 31-03-2005 11:10:

domanda:

negli esempi che avete postato manca sempre:

TCPClient MyClient = new TCPClient();
MyClient.start();

subito dopo aver scritto il metodo main...

questo si deve mettere sempre o no? Nel server multithread sì...ma nel client e nel server thread?

Grasias!!

__________________
:boing:


Posted by Flavia on 31-03-2005 11:12:

Originally posted by urcodiaz
ma se trovo da svolgere il server multithread in UDP, devo realizzarlo utilizzando la classe Multicast? Così creo un gruppo a cui invio gli stessi pacchetti...però mi sorge un dubbio...così facendo è come se gestissi più client alla volta? Non avevamo detto che il server multithread per UDP non esisteva??

Altra domanda per le risposte in c: il primo parametro di ogni system call è "int sd" che sarebbe il descrittore della socket...ma è un numero o è il nome della socket? listen(20) vuol dire che si scegle la socket 20 della lista per essere accettata oppure indica il numero di client nella coda e quindi il baclog?

grazie a tutti!



Per la parte in UDP chiedi a qualcuno che l'ha avuta all'esame!Sinceramente non sapendo precisamente la richiesta non ti saprei aiutare!

comunque sd è un numero che è il descrittore della socket, come un identificativo ID.
Listen(20) vuol dire la socket con ID 20 si mette in listen!

:-D

__________________
I ragazzi che si amano si baciano in piedi contro le porte della notte, e la gente che passa li punta con il dito, ma i ragazzi che si amano non ci sono per nessuno ed è la loro ombra soltanto che trema nella notte.
Stimolando la rabbia dei passanti, la loro rabbia il loro disprezzo le risa la loro invidia.
I ragazzi che si amano non ci sono per nessuno.
Essi sono altrove, molto più lontano della notte, molto più in alto del giorno, nell'abbagliante splendore del loro amore.

:date:


Posted by urcodiaz on 31-03-2005 11:22:

esiste qualcuno che ha avuto la parte in udp e ci dici come risolvere il server multithread in udp? grazie!

__________________
:boing:


Posted by UZI on 31-03-2005 12:05:

io devo dare l'esame domani, cmq ti posso dire per certo: lascia stare il multicast, non serve per fare un server multithread... sono due cose diverse.

__________________
those who test will find a bullet in they chest
put ta rest
by a brotha who was hopeless
grow up broke on tha rope of insanity
how many pistols smoking coming from a broken family


Posted by urcodiaz on 31-03-2005 12:19:

ok, capisco...ma se domani mi trovo un server multithread in udp cosa faccio?
Qualcuno mi dice chiaramente se esiste o meno?
Io son sicuro che per fare server multithread si usa tcp che è più sicuro e viene meglio. Sinceramente pensavo che il server multithread in udp non esistesse proprio...Chi ha fatto gli appelli precedenti potrebbe illuminarci?

Grasias!!

__________________
:boing:


Posted by UZI on 31-03-2005 12:23:

guarda, ti posto il codice (non completo, manca l'elaborazione dei dati del pacchetto, che dipende da cosa è richiesto che faccia il server) di un server multithread udp che ho fatto ieri. questo metodo funziona da quello che ho potuto vedere, ma non mi assumo responsabilità circa la correttezza effettiva in quanto me lo sono inventato di sana pianta... auguri!

code:
import java.util.*; import java.net.*; import java.io.*; class engine extends Thread { byte incoming[]; SocketAddress sender; public engine(byte[] b, SocketAddress s) { incoming = b; sender = s; } public void run() { //...fˆ qualcosa coi dati in incoming byte tbuf[] = new byte[256]; String response = //...scrive la risposta tbuf = response.getBytes(); try{ //invia la risposta DatagramSocket tsock = new DatagramSocket(); DatagramPacket tpack = new DatagramPacket(tbuf, tbuf.length, sender); tsock.send(tpack); System.out.println("pacchetto inviato"); tsock.close(); }catch(Exception e){} } } public class udp_calc_multiser { public static void main (String args[]) { byte buf[] = new byte[256]; DatagramPacket pack = new DatagramPacket(buf, buf.length); try{ DatagramSocket UDPsocklistener = new DatagramSocket(4444); while(true){ UDPsocklistener.receive(pack); new engine(pack.getData(), pack.getSocketAddress()).start(); } }catch(Exception e){} } }

__________________
those who test will find a bullet in they chest
put ta rest
by a brotha who was hopeless
grow up broke on tha rope of insanity
how many pistols smoking coming from a broken family


Posted by francesco2 on 31-03-2005 12:30:

Grazieee UZI

__________________
r


Posted by papousek on 31-03-2005 14:13:

io lo scorso appello ho avuto UDP...e l ultimo modulo..quello del multithread l ho lasciato bianco..appunto perchè...come ripeto...l udp dal mio punto di vista nn è stato propriamente visto a scuola....

cmq...sperem...

__________________
Break Out


Posted by foxinho on 31-03-2005 14:14:

la vedo grigia domani...:(:(:(


Posted by Vale on 31-03-2005 14:24:

scusate la domanda ma le domande su C sono a risposta multipla anche quelle o sono aperte?


Posted by francesco2 on 31-03-2005 14:32:

Originally posted by Vale
scusate la domanda ma le domande su C sono a risposta multipla anche quelle o sono aperte?



Magari sbaglio in alcuni esercizi non bisognava inserire del codice in C? Qualcuno si ricorda?

__________________
r


Posted by Vale on 31-03-2005 14:34:

io per l'UDP ho fatto così che ne pensate?

import java.io.*;
import java.net.*;

public class ServerUDP{

private static DatagramSocket ss= null;

public static void main(String[] args){
try{
ss = new DatagramSocket(12000);

while (true){
byte[] recvData = new byte[1024];
DatagramPacket recvPacket = new DatagramPacket(recvData,recvData.length);
ss.receive(recvPacket);
ServerThreadUDP t= new ServerThreadUDP(ss,recvPacket);
t.start();
}
}catch(Exception e){
e.printStackTrace();
}
}

}


import java.io.*;
import java.net.*;

public class ClientUDP{
private static DatagramSocket socket;
private static InputStreamReader reader;
private static BufferedReader myInput;
private static String LAFRASE= "La frase e':";

public static void main(String[] args){
try{
socket = new DatagramSocket();
InetAddress ipaddress=InetAddress.getByName("localhost");
System.out.println("inserisci la frase:");
reader = new InputStreamReader(System.in);
myInput = new BufferedReader(reader);

byte[] sendData = new byte[1024];
byte[] recvData = new byte[1024];
String frase= LAFRASE+myInput.readLine();
sendData=frase.getBytes();
DatagramPacket sendPacket = new DatagramPacket(sendData, sendData.length, ipaddress, 12000);
socket.send(sendPacket);
DatagramPacket recvPacket = new DatagramPacket(recvData, recvData.length);
socket.receive(recvPacket);
int c;
String recfrase="";
for (int i=0; (c=recvPacket.getData()[i])!=0; i++)
recfrase+= (char) c;

System.out.println("La frase in maiuscolo è :"+recfrase.substring(LAFRASE.length())+" di lunghezza: "+ (recfrase.length()-LAFRASE.length()));

String lung= "La lunghezza e'"+(recfrase.length()-LAFRASE.length())+"\n";
sendData= lung.getBytes();
sendPacket.setData(sendData);
sendPacket.setLength(sendData.length);
socket.send(sendPacket);
socket.close();

}catch(Exception e){
e.printStackTrace();
}
}

}



import java.net.DatagramPacket;
import java.net.InetAddress;
import java.net.DatagramSocket;

public class ServerThreadUDP extends Thread {



private static DatagramSocket socket;
private static byte[] recvData;
private static byte[] sendData;
private static DatagramPacket recvPacket;

public ServerThreadUDP(DatagramSocket s, DatagramPacket recvPacket){
socket = s;
this.recvPacket = recvPacket;
recvData= new byte[1024];
sendData= new byte[1024];
}

public void run(){
try{
int c;
String frase="";
for (int i=0 ; (c=recvPacket.getData()[i])!=0; i++)
frase += (char) c;
System.out.println(frase);
InetAddress ipaddress =recvPacket.getAddress();
int porta = recvPacket.getPort();
frase= frase.toUpperCase();
sendData = frase.getBytes();
DatagramPacket sendPacket= new DatagramPacket(sendData, sendData.length, ipaddress, porta);
socket.send(sendPacket);

}catch(Exception e){
e.printStackTrace();
}
}

}


Posted by papousek on 31-03-2005 14:42:

grazie del codice....mi ci vorra un secolo per decriptarlo....:D

nota di redazione...nn c ho capito na randazza di mazza...

__________________
Break Out


Posted by francesco2 on 31-03-2005 14:43:

é lo stesso esercizio che ha fatto Flavia però in Udp?

Grazie!:)

__________________
r


Posted by UZI on 31-03-2005 14:47:

guarda, io ti spiego alcune mie considerazioni, prendile con le pinze perchè non fanno riferimento a materiale didattico (che non c'è, o quantomeno non i è stato fornito) ma sono frutto di miei ragionamenti.

nel codice che ho postato io, creo una datagramsocket che ha l'unico scopo di stare in ascolto e ricevere i pacchetti, poi al thread passo non il pacchetto ma i dati che contiene e l'indirizzo di provenienza. questo perchè ho paura che sennò faccia casino, in quanto quando passi il pacchetto non passi una sua copia ma proprio l'area di memoria che lo contiene... quindi alla fine tutti i thread si troverebbero a la vorare sullo stesso buffer e questo non è a mio avviso consigliabile.

cmq, non ho fatto test approfonditi.

__________________
those who test will find a bullet in they chest
put ta rest
by a brotha who was hopeless
grow up broke on tha rope of insanity
how many pistols smoking coming from a broken family


Posted by urcodiaz on 31-03-2005 14:50:

quindi devo usare la classe engine?

__________________
:boing:


Posted by yeah on 31-03-2005 14:51:

Originally posted by Vale

io per l'UDP ho fatto così che ne pensate?

Che potevi mettere qualche commento :asd:

__________________
?


Posted by Vale on 31-03-2005 14:54:

e si effettivamente... :-)


Posted by ~paolo~ on 31-03-2005 14:56:

Question esame 1° marzo (versione UDP)

ciao, posto il codice di client e server UDP relativi all'esame del 1° marzo in cui veniva richiesto di controllare una stringa contenente un'operazione e visualizzando il risultato ( misono per ora fermato a qst punto senza considerare la parità)..

non riesco a capire perchè qnd lo mando in esecuzione rimane bloccato sulla stringa inserita e il server si sconnette

cleintUDP.java

code:
import java.io.*; import java.net.*; public class clientUDP { public static void main(String args[]) throws Exception { String operazione,frase_server; DatagramSocket client; InetAddress indirizzo; DatagramPacket pacchetto_send, pacchetto_recv; byte[] buffer = new byte[1024]; client = new DatagramSocket(); System.out.println("Inserisci l'operazione (num1 op num2) dove op e' l'operatore:"); BufferedReader from_client = new BufferedReader(new InputStreamReader(System.in)); operazione = from_client.readLine(); buffer = operazione.getBytes(); indirizzo = InetAddress.getByName("localhost"); pacchetto_send = new DatagramPacket(buffer, buffer.length, indirizzo, 7000); client.send(pacchetto_send); pacchetto_recv = new DatagramPacket(buffer, buffer.length); client.receive(pacchetto_recv); frase_server = new String(pacchetto_recv.getData()); System.out.println("Il risultato dell'operazione e':" + frase_server); client.close(); } }



serverUDP.java
code:
public class serverUDP { public static void main(String args[]) throws Exception { ThreadUDP t; t = new ThreadUDP(); t.start(); } }



ThreadUDP.java
code:
import java.io.*; import java.net.*; import java.util.*; public class ThreadUDP extends Thread { DatagramSocket server; DatagramPacket pacchetto_send, pacchetto_recv; InetAddress indirizzo; byte[] dati_recv = new byte[1024]; byte[] dati_send = new byte[1024]; String operazione,op; StringTokenizer operazione_spezzata; int a,b,risultato,porta_client; public void run() { try { while(true) { server = new DatagramSocket(7000); pacchetto_recv = new DatagramPacket(dati_recv, dati_recv.length); server.receive(pacchetto_recv); operazione = new String(pacchetto_recv.getData()); operazione_spezzata = new StringTokenizer(operazione); a = Integer.parseInt(operazione_spezzata.nextToken()); op = operazione_spezzata.nextToken(); b = Integer.parseInt(operazione_spezzata.nextToken()); if (op.equals("+")) risultato = a + b; else if (op.equals("-")) risultato = a - b; else if (op.equals("/")) risultato = a / b; else risultato = a * b; dati_send = (Integer.toString(risultato)).getBytes(); indirizzo = pacchetto_recv.getAddress(); porta_client = pacchetto_recv.getPort(); pacchetto_send = new DatagramPacket(dati_send, dati_send.length, indirizzo, porta_client); server.send(pacchetto_send); server.close(); } } catch (Exception e) {} } }



se riuscite a capire l'errore mi fate un grosso favore :(
grazie in anticipo.
ciao ciao

Paolo

__________________
msn: paolo198328@hotmail.com



Posted by papousek on 31-03-2005 14:59:

mi spiace..io parlo un altra lingua...

__________________
Break Out


Posted by Sir Punk on 31-03-2005 15:05:

codice di merda! FKL!

__________________
FCERCASI BATTERISTA


Posted by Sir Punk on 31-03-2005 15:06:

guarda non cercare di capire perche non va, copia tutto come un robot rincoglionito e prega che sia abbastanza per passare questo maledetto esame inutile

__________________
FCERCASI BATTERISTA


Posted by ~paolo~ on 31-03-2005 15:09:

Originally posted by Sir Punk
guarda non cercare di capire perche non va, copia tutto come un robot rincoglionito e prega che sia abbastanza per passare questo maledetto esame inutile


:) io puntavo di riuscire a passare almeno la parte di lab
per la teoria ci penserò....
:)
cmq mi manca solo qst qll in TCP e l'esempio del libro( trasformare un maiuscolo una stringa) sono riuscito con entrambi i protocolli... bohhhhhh
credo proprio che concludo cosìì

Ciao
Paolo

__________________
msn: paolo198328@hotmail.com



Posted by josh on 31-03-2005 15:19:

Originally posted by Sir Punk
guarda non cercare di capire perche non va, copia tutto come un robot rincoglionito e prega che sia abbastanza per passare questo maledetto esame inutile



Se questo lo ritieni inutile non so cosa tu possa pensare riguardo a :
dps
italiano
diritto
economia
IUM!!!!


Posted by papousek on 31-03-2005 15:25:

siamo OT..torniamo allo splendido e affascinante mondo di JAVA

__________________
Break Out


Posted by luna on 31-03-2005 15:32:

Intervento del moderatore:
si,siete decisamente OT!Tornate in topic!:)

__________________
"Solamente il cuore ti permette di vedere chiaramente.L'essenziale e' invisibile agli occhi"
bisogna vivere "alla giornata", senza crearsi troppe aspettative. quello che viene sarà un "di più" ed è da mettere nel salvadanaio.
Sono troppo una grilla petulante :D by Nous


Posted by papousek on 31-03-2005 15:50:

Re: esame 1° marzo (versione UDP)

Originally posted by ~paolo~
ciao, posto il codice di client e server UDP relativi all'esame del 1° marzo in cui veniva richiesto di controllare una stringa contenente un'operazione e visualizzando il risultato ( misono per ora fermato a qst punto senza considerare la parità)..

non riesco a capire perchè qnd lo mando in esecuzione rimane bloccato sulla stringa inserita e il server si sconnette

cleintUDP.java
code:
import java.io.*; import java.net.*; public class clientUDP { public static void main(String args[]) throws Exception { String operazione,frase_server; DatagramSocket client; InetAddress indirizzo; DatagramPacket pacchetto_send, pacchetto_recv; byte[] buffer = new byte[1024]; client = new DatagramSocket(); System.out.println("Inserisci l'operazione (num1 op num2) dove op e' l'operatore:"); BufferedReader from_client = new BufferedReader(new InputStreamReader(System.in)); operazione = from_client.readLine(); buffer = operazione.getBytes(); indirizzo = InetAddress.getByName("localhost"); pacchetto_send = new DatagramPacket(buffer, buffer.length, indirizzo, 7000); client.send(pacchetto_send); pacchetto_recv = new DatagramPacket(buffer, buffer.length); client.receive(pacchetto_recv); frase_server = new String(pacchetto_recv.getData()); System.out.println("Il risultato dell'operazione e':" + frase_server); client.close(); } }



serverUDP.java
code:
public class serverUDP { public static void main(String args[]) throws Exception { ThreadUDP t; t = new ThreadUDP(); t.start(); } }



ThreadUDP.java
code:
import java.io.*; import java.net.*; import java.util.*; public class ThreadUDP extends Thread { DatagramSocket server; DatagramPacket pacchetto_send, pacchetto_recv; InetAddress indirizzo; byte[] dati_recv = new byte[1024]; byte[] dati_send = new byte[1024]; String operazione,op; StringTokenizer operazione_spezzata; int a,b,risultato,porta_client; public void run() { try { while(true) { server = new DatagramSocket(7000); pacchetto_recv = new DatagramPacket(dati_recv, dati_recv.length); server.receive(pacchetto_recv); operazione = new String(pacchetto_recv.getData()); operazione_spezzata = new StringTokenizer(operazione); a = Integer.parseInt(operazione_spezzata.nextToken()); op = operazione_spezzata.nextToken(); b = Integer.parseInt(operazione_spezzata.nextToken()); if (op.equals("+")) risultato = a + b; else if (op.equals("-")) risultato = a - b; else if (op.equals("/")) risultato = a / b; else risultato = a * b; dati_send = (Integer.toString(risultato)).getBytes(); indirizzo = pacchetto_recv.getAddress(); porta_client = pacchetto_recv.getPort(); pacchetto_send = new DatagramPacket(dati_send, dati_send.length, indirizzo, porta_client); server.send(pacchetto_send); server.close(); } } catch (Exception e) {} } }



se riuscite a capire l'errore mi fate un grosso favore :(
grazie in anticipo.
ciao ciao

Paolo


cmq..penso che uno degli errori..sia di nn aver messo il costruttore con lo stesso nome della classe ThreadUDP...cioè manca proprio quello...un public ThreadUDP(){qualunque cosa}

ciaps

__________________
Break Out


Posted by UZI on 31-03-2005 16:14:

Originally posted by urcodiaz
quindi devo usare la classe engine?


no, engine è il nome arbitrario che ho dato io al thread. puoi chiamarlo anche pippo, se vuoi! ;)

__________________
those who test will find a bullet in they chest
put ta rest
by a brotha who was hopeless
grow up broke on tha rope of insanity
how many pistols smoking coming from a broken family


Posted by ~paolo~ on 31-03-2005 18:56:

Re: Re: esame 1° marzo (versione UDP)

Originally posted by papousek
cmq..penso che uno degli errori..sia di nn aver messo il costruttore con lo stesso nome della classe ThreadUDP...cioè manca proprio quello...un public ThreadUDP(){qualunque cosa}

ciaps


sai che non ho capito cosa intendi?

__________________
msn: paolo198328@hotmail.com



Posted by papousek on 31-03-2005 19:44:

ehm..io nn sono bravo in java..pero ho notato che quando si crea un costruttore..prima di fare il run()...di solito quando si crea appunto..ad esso si da lo stesso nome della classe a cui appartiene il costruttore...(penso sia una delle regole di java)..e appunto manca questo particolare..poi puo darsi che sbaglio...

dovrebbe essere cosi...

import java.io.*;
import java.net.*;
import java.util.*;

public class ThreadUDP extends Thread {
DatagramSocket server;
DatagramPacket pacchetto_send, pacchetto_recv;
InetAddress indirizzo;
byte[] dati_recv = new byte[1024];
byte[] dati_send = new byte[1024];
String operazione,op;
StringTokenizer operazione_spezzata;
int a,b,risultato,porta_client;


PUBLIC ThreadUDP(QUALCHE PARAMETRO) {QUALCOSA... <-------

public void run() {
try
{
while(true)
{
server = new DatagramSocket(7000);
pacchetto_recv = new DatagramPacket(dati_recv, dati_recv.length);
server.receive(pacchetto_recv);
operazione = new String(pacchetto_recv.getData());

operazione_spezzata = new StringTokenizer(operazione);
a = Integer.parseInt(operazione_spezzata.nextToken());
op = operazione_spezzata.nextToken();
b = Integer.parseInt(operazione_spezzata.nextToken());
if (op.equals("+"))
risultato = a + b;
else
if (op.equals("-"))
risultato = a - b;
else
if (op.equals("/"))
risultato = a / b;
else
risultato = a * b;

dati_send = (Integer.toString(risultato)).getBytes();
indirizzo = pacchetto_recv.getAddress();
porta_client = pacchetto_recv.getPort();
pacchetto_send = new DatagramPacket(dati_send, dati_send.length, indirizzo, porta_client);
server.send(pacchetto_send);
server.close();
}
}
catch (Exception e) {}
}
}


spero che ora sia piu chiaro...

__________________
Break Out


Posted by ~paolo~ on 31-03-2005 19:49:

ho fatto alcuni controlli (visualizzazione di variabili) e ho notato che la stampa della variabile int b non avviene... non so come mai :(

__________________
msn: paolo198328@hotmail.com



Posted by cia on 31-03-2005 19:51:

ragassuoli... ringrazio chi ha postato i codici e chi ha risposto ai nostri quesiti...
domani speriamo sia simile al primo appello, dove almeno c'erano parti di codice già scritte, e non come lo scorso appello dove bisognava scrivere tutto... andate in pace^^

__________________
But until we unite
I live for that night
Wait for time
two souls entwine


Posted by ~paolo~ on 31-03-2005 19:52:

Originally posted by papousek
ehm..io nn sono bravo in java..pero ho notato che quando si crea un costruttore..prima di fare il run()...di solito quando si crea appunto..ad esso si da lo stesso nome della classe a cui appartiene il costruttore...(penso sia una delle regole di java)..e appunto manca questo particolare..poi puo darsi che sbaglio...


il fatto è che non ha parametri e cmq l'avevo fatto anche nell'altro es e nn dava problemi,,, nn credo sia qll il prob ... cmq grazie lo stesso :)

__________________
msn: paolo198328@hotmail.com



Posted by ~paolo~ on 31-03-2005 19:59:

Post es...

ho messo i miei programmini.. magari a qlcn possono risultare utili
http://www.dsy.it/forum/showthread....0233#post280233

Ciao

__________________
msn: paolo198328@hotmail.com



Posted by ~paolo~ on 31-03-2005 20:22:

papousek, ho capito finalmente qll che colevi dire... in effetti Cassiano aveva concesso il costruttore

public ServerThread(DatagramSocket s){

this.s=s;
}

ma ora non saprei come sfruttarlo.... in TCP avevo la socket grazie all'accept() del server e poi la passav come parametro del thread... ma in UDP???

bohhh

__________________
msn: paolo198328@hotmail.com



Posted by papousek on 31-03-2005 20:35:

su questo..nn ti so aiutare...mi spiace...

__________________
Break Out


Posted by ~paolo~ on 31-03-2005 21:02:

Originally posted by papousek
su questo..nn ti so aiutare...mi spiace...


alla fine ho capito l'errore... dopo il secondo numero ci va un altro spazio sennò il tokenizer nn va... nn capisco ql sia la causa, in TCP andata tranquillamente... forse c'è sotto qlcs sui bytes :P

ora provo a risolvere il caso della parità e posto anche qst es... ciao

ps: non ho creato nessun costruttore...

__________________
msn: paolo198328@hotmail.com



Posted by Quartermaster on 31-03-2005 21:39:

Originally posted by Flavia
Le slide di Cassiano dal sito reti.dico.unimi.it sono 3:
-UDP e JAVA
-Imparare il C in tre ore


Ciao, scusate ma "-Imparare il C in tre ore" possibile che nn lo riesca a trovare?
help me plz


Posted by Quartermaster on 31-03-2005 23:54:

trovate


Posted by luna on 01-04-2005 19:59:

a voi come è andato l'esame?

__________________
"Solamente il cuore ti permette di vedere chiaramente.L'essenziale e' invisibile agli occhi"
bisogna vivere "alla giornata", senza crearsi troppe aspettative. quello che viene sarà un "di più" ed è da mettere nel salvadanaio.
Sono troppo una grilla petulante :D by Nous


Posted by Angra on 01-04-2005 20:11:

io non ho parole... terzo turno...per alcune domande ( parlo dell'esame di teoria) non trovo ancora una risposta pur avendo slide libro ecc. davanti a me..


Posted by UZI on 01-04-2005 20:13:

il fatto è che alcune sono messe giù in modo molto, molto bastardo...

__________________
those who test will find a bullet in they chest
put ta rest
by a brotha who was hopeless
grow up broke on tha rope of insanity
how many pistols smoking coming from a broken family


Posted by luna on 01-04-2005 20:14:

Originally posted by Angra
io non ho parole... terzo turno...per alcune domande ( parlo dell'esame di teoria) non trovo ancora una risposta pur avendo slide libro ecc. davanti a me..


idem..giuro che ci sono rimasta malissimo...anche io ero al terzo turno...Ho controllato la media del nostro gruppo ed era del 32%..dice tutto :roll:

__________________
"Solamente il cuore ti permette di vedere chiaramente.L'essenziale e' invisibile agli occhi"
bisogna vivere "alla giornata", senza crearsi troppe aspettative. quello che viene sarà un "di più" ed è da mettere nel salvadanaio.
Sono troppo una grilla petulante :D by Nous


Posted by Angra on 01-04-2005 20:20:

quella sulla velocità di trasmissione del rame o per esempio differenza tra ftp e lftp o qualcosa del genere... boh


Posted by luna on 01-04-2005 20:22:

ma perche', quelle sui bridge trasparenti?c'erano ben 5 domande su questo argomento,e sinceramente ho beccato una sola slide in cui ne parlava...mi è sfuggito altro materiale?

ah era TFTP ;) :look:

__________________
"Solamente il cuore ti permette di vedere chiaramente.L'essenziale e' invisibile agli occhi"
bisogna vivere "alla giornata", senza crearsi troppe aspettative. quello che viene sarà un "di più" ed è da mettere nel salvadanaio.
Sono troppo una grilla petulante :D by Nous


Posted by filipp8 on 01-04-2005 20:29:

io ho preso un 40% secco, media del turno 1 e 2 di 39,qualcosa%... dite che basta x un 18?
parlo della teoria, eh?


Posted by luna on 01-04-2005 20:31:

uhm..dipende molto da come valuta complessivamente il prof...la volta scorsa ho sentito dire che col 48% dava 18..magari stavolta sara' piu' buono!:)

__________________
"Solamente il cuore ti permette di vedere chiaramente.L'essenziale e' invisibile agli occhi"
bisogna vivere "alla giornata", senza crearsi troppe aspettative. quello che viene sarà un "di più" ed è da mettere nel salvadanaio.
Sono troppo una grilla petulante :D by Nous


Posted by Angra on 01-04-2005 20:32:

ah ecco Tftp...

se qualcuno sa qualcosa o ha degli appunti presi a lezione con questi argomenti faccia un fischio...io non so più sbattere la testa... ed ora vedo se riesco a finire il progetto di info grafica


Posted by Principessa on 01-04-2005 21:05:

Originally posted by Angra
ah ecco Tftp...

se qualcuno sa qualcosa o ha degli appunti presi a lezione con questi argomenti faccia un fischio...io non so più sbattere la testa... ed ora vedo se riesco a finire il progetto di info grafica


TFTP significa Trivial File Transfer Protocol

non so cosa chiedeva la domanda, ma se guardi sulle slide di gfp (quelle in italiano) "TCP UDP" trovi un accenno...

se non sbaglio, anche nell'appello di gennaio c'era una domanda su TFTP


Posted by ~paolo~ on 01-04-2005 23:47:

Originally posted by filipp8
io ho preso un 40% secco, media del turno 1 e 2 di 39,qualcosa%... dite che basta x un 18?
parlo della teoria, eh?


io ero del 1° turno e ho fatto anch'io 40%
cmq ho puntato + sulla pratica... beh vedremo...

__________________
msn: paolo198328@hotmail.com



Posted by yeah on 01-04-2005 23:59:

A quanto pare le slide in italiano sono state base per domande anche in questo appello... eppure a me sembrava avesse detto non erano fontamentali...

Ad ogni modo, io dovevo dare solo il laboratorio, nella parte su C qualche domanda mi è sembrata un pò ambigua e mi ha lasciato perplesso. Per quanto riguarda Java, beh, ho fatto tutto ma non ho idea di come sia venuta :)

[edit] Ero al terzo turno. Vista l'ora a cui abbiamo cominciato e finito, non oso immaginare quando abbiano finito quelli del quarto

__________________
?


Posted by ~paolo~ on 02-04-2005 00:06:

boh nelle domande in C ho fatto 50%, dai sono contento :P

__________________
msn: paolo198328@hotmail.com



Posted by foxinho on 02-04-2005 02:24:

Originally posted by ~paolo~
boh nelle domande in C ho fatto 50%, dai sono contento :P



laboratorio 70% su c e java classi complete ma non so,teoria mi ha seccato in tronco...:(:(:(


Posted by francesco2 on 02-04-2005 07:11:

Come funziona, per il laboratorio fa una media tra la parte di java e la parte di C? Io nella parte di C ho fatto schifo ma in compenso forse non è andata male la parte di Java, spero dia il giusto peso degli esercizi.
Chissa quanto bisogna aspettare per la correzione...

In bocca al lupo a tutti quanti e speriamo....

__________________
r


Posted by aesse on 02-04-2005 08:45:

Originally posted by yeah
Ero al terzo turno. Vista l'ora a cui abbiamo cominciato e finito, non oso immaginare quando abbiano finito quelli del quarto [/B]

Io ero al quarto e ho finito stracotto dopo le sette e mezza, ma penso siano andati avanti fino alle otto meno un quarto :/


Posted by luna on 02-04-2005 09:37:

Originally posted by yeah
A quanto pare le slide in italiano sono state base per domande anche in questo appello... eppure a me sembrava avesse detto non erano fontamentali...



anche io avevo sentito il prof dire che le slide in italiano non bisognava praticamente neanche guardarle...

Comunque la domanda era: che differenza c'e' tra ftp e tftp?
e le risposte non le ricordo..ma non erano cose semplicissime...

qualcuno sa dove posso trovare informazioni sul bridge trasparente?

__________________
"Solamente il cuore ti permette di vedere chiaramente.L'essenziale e' invisibile agli occhi"
bisogna vivere "alla giornata", senza crearsi troppe aspettative. quello che viene sarà un "di più" ed è da mettere nel salvadanaio.
Sono troppo una grilla petulante :D by Nous


Posted by cia on 02-04-2005 11:23:

In laboratorio che tipo di esercizio avevate voi degli altri turni? (io ero al quarto e avevo l'es su Sanremo in UDP)

__________________
But until we unite
I live for that night
Wait for time
two souls entwine


Posted by luna on 02-04-2005 11:24:

al terzo turno e anche io avevo udp!

__________________
"Solamente il cuore ti permette di vedere chiaramente.L'essenziale e' invisibile agli occhi"
bisogna vivere "alla giornata", senza crearsi troppe aspettative. quello che viene sarà un "di più" ed è da mettere nel salvadanaio.
Sono troppo una grilla petulante :D by Nous


Posted by ~paolo~ on 02-04-2005 12:03:

1° turno ed avevo una mini chat in TCP

__________________
msn: paolo198328@hotmail.com



Posted by yeah on 02-04-2005 20:04:

Originally posted by luna

qualcuno sa dove posso trovare informazioni sul bridge trasparente?

Non le ho guardate di recente, ma ho l'impressione che ci sia qualcosa sulle slide in italiano, no?

__________________
?


Posted by luna on 03-04-2005 09:59:

si,sulle slide in italiano c'è qualcosa ma solo una slide e mezza sul bridge trasparente,niente di piu'...non credo sia sufficiente rispetto a quello che chiedeva il prof all'esame...faro' una bella ricerca con google :D

__________________
"Solamente il cuore ti permette di vedere chiaramente.L'essenziale e' invisibile agli occhi"
bisogna vivere "alla giornata", senza crearsi troppe aspettative. quello che viene sarà un "di più" ed è da mettere nel salvadanaio.
Sono troppo una grilla petulante :D by Nous


Posted by josh on 03-04-2005 13:48:

Originally posted by ~paolo~
io ero del 1° turno e ho fatto anch'io 40%
cmq ho puntato + sulla pratica... beh vedremo...



Ragazzi anch'io per la teoria ci sono rimasto malissimo: penso di aver studiato seriamente e non ho mancato di studiarmi i primi 5 capitoli del libro...grazie ai quali sono riuscito a prendere 18 per i 3 strati applicazzione,rete,trasporto...ma fisico e dati è stata una mazzata 6 p.ti per ogni modulo....
Ammetto di non aver cagato le slide in ita ma non mi pare che si diceva che fossero cosi importanti??!!
Quando leggevo velocità di trasmissione del rame, tutti quei calcoli per bridge trasperti, il TFTP!?!!!
Non vi dico cosa pensavo....
"mi fa piacere" che anche gli altri si sono trovati nella cacca come me e guardano la media del gruppo, il quarto , 33 per cento, considerando che ho presso il 44 per cento,posso ritermi contento...

Ma mi dispiace deludere tutti,il giorno dell'esame appena ho completato prima di andare via sono andato da Cassiano, e lui mi ha detto che con la mia media...non ce l'avrei fatta...mah...ora leggendo i vostri post..spero di sbagliarmi....

Ma se non fosse cosi, come preparsi per ridare sto esame...dato che studiare i primi 5 capitoli, sembra non sia servito....

Scusate lo sfogo...ma in sti gg non certo di buon umore....Quando mi bocciano e non studio ok, ma quando penso di aver studiato....


Posted by luna on 03-04-2005 13:57:

ti capisco bene anche io...ho studiato per un mese e mezzo il libro e vari appunti.Avevo anche guardato le slide in italiano ma credimi non è servito a nulla lo stesso..
Non è per fare polemica ma in ogni caso non passare cosi' un esame fa rimanere piuttosto male. La media del terzo gruppo era del 33% circa..e anche per il quarto era la stessa da quello che tu mi dici giusto?mah!fa molto riflettere...
E comunque..a questo punto mi viene da pensare che quelli del primo e del secondo turno abbiano avuto domande piu' "normali" rispetto a quelli del terzo e quarto. Se saro' smentita ne saro' ben felice :D

__________________
"Solamente il cuore ti permette di vedere chiaramente.L'essenziale e' invisibile agli occhi"
bisogna vivere "alla giornata", senza crearsi troppe aspettative. quello che viene sarà un "di più" ed è da mettere nel salvadanaio.
Sono troppo una grilla petulante :D by Nous


Posted by Flavia on 03-04-2005 14:06:

Il TFTP l'aveva chiesto all'esame di Gennaio, e ovviamente non sapevo cosa fosse perchè non l'avevo trovato da nessuna parte durante lo studio. Sono andata un po' a naso a partire dall'acronimo e pensando alla risposta più corretta..sbagliandola però credo :D.
Comunque mi pare che allora l'esame sia diventato più bastardo a sentire i vostri commenti..comunque anche negli appelli prima alcune cose non sapevo neppure io dove fosse andato a prenderle! :| O magari ero io che non avevo recuperato tutto iol materiale, boh! :|

__________________
I ragazzi che si amano si baciano in piedi contro le porte della notte, e la gente che passa li punta con il dito, ma i ragazzi che si amano non ci sono per nessuno ed è la loro ombra soltanto che trema nella notte.
Stimolando la rabbia dei passanti, la loro rabbia il loro disprezzo le risa la loro invidia.
I ragazzi che si amano non ci sono per nessuno.
Essi sono altrove, molto più lontano della notte, molto più in alto del giorno, nell'abbagliante splendore del loro amore.

:date:


Posted by josh on 03-04-2005 14:21:

Originally posted by luna
ti capisco bene anche io...ho studiato per un mese e mezzo il libro e vari appunti.Avevo anche guardato le slide in italiano ma credimi non è servito a nulla lo stesso..:D


Ma allora scusa per preparmi per il prossimo appello come farem0?
Scusate ma gira la voce che lbro e appunti in ita non servano...


Originally posted by luna

Non è per fare polemica ma in ogni caso non passare cosi' un esame fa rimanere piuttosto male. La media del terzo gruppo era del 33% circa..e anche per il quarto era la stessa da quello che tu mi dici giusto?mah!fa molto riflettere...


Certo ammetto che la media comprende anche persone che vengono a fare l'esame per provarci, cioè un po a caso, ma che la media cmq resti cosi bassa, mi fa riflettere anche me...Cos'e tutti sbagliamo il metodo di studio??

MAH...


Posted by luna on 03-04-2005 14:26:

sinceramente...mi pongo anche io le tue stesse domande...
Io pensavo di scrivere al prof e chiedere dove potrei trovare il materiale adatto, visto che di solito è sempre disponibile Prini ;)
Io l'unica cosa che non ho guardato bene sono le slide in inglese perche' tanto ho studiato sul libro.Un mio amico mi ha detto che il bridge trasparente ad esempio c'era nelle slide in inglese,ma sotto un altro nome,che veniva chiamato probabilmente solo "bridge"....

__________________
"Solamente il cuore ti permette di vedere chiaramente.L'essenziale e' invisibile agli occhi"
bisogna vivere "alla giornata", senza crearsi troppe aspettative. quello che viene sarà un "di più" ed è da mettere nel salvadanaio.
Sono troppo una grilla petulante :D by Nous


Posted by josh on 03-04-2005 14:28:

Originally posted by luna
sinceramente...mi pongo anche io le tue stesse domande...
Io pensavo di scrivere al prof e chiedere dove potrei trovare il materiale adatto, visto che di solito è sempre disponibile Prini ;)


Ottima idea :-)


Posted by aesse on 03-04-2005 16:25:

A me sembra che piu' che seguire il libro, le slide del kurose, o quelle in italiano, il prof segua quello che ha spiegato a lezione (ovvero quello che si è segnato sui sui "appunti").

Tralsciando la domanda sul cavo di rame, mi ricordo che di Ftp/Tftp (e di altre cose che magari nelle slide son solo accennate) a lezione aveva parlato.


Posted by GinoPilotino on 03-04-2005 16:56:

Originally posted by luna
sinceramente...mi pongo anche io le tue stesse domande...
Io pensavo di scrivere al prof e chiedere dove potrei trovare il materiale adatto, visto che di solito è sempre disponibile Prini ;)
Io l'unica cosa che non ho guardato bene sono le slide in inglese perche' tanto ho studiato sul libro.Un mio amico mi ha detto che il bridge trasparente ad esempio c'era nelle slide in inglese,ma sotto un altro nome,che veniva chiamato probabilmente solo "bridge"....

chi è il tuo amico? omertaaaaa :D


Posted by boban on 03-04-2005 19:33:

Originally posted by luna
ti capisco bene anche io...ho studiato per un mese e mezzo il libro e vari appunti.Avevo anche guardato le slide in italiano ma credimi non è servito a nulla lo stesso..
Non è per fare polemica ma in ogni caso non passare cosi' un esame fa rimanere piuttosto male. La media del terzo gruppo era del 33% circa..e anche per il quarto era la stessa da quello che tu mi dici giusto?mah!fa molto riflettere...
E comunque..a questo punto mi viene da pensare che quelli del primo e del secondo turno abbiano avuto domande piu' "normali" rispetto a quelli del terzo e quarto. Se saro' smentita ne saro' ben felice :D


....ero al primo turno...stesse domande...stessa media....stesse perplessità....
mi piacerebbe sapere dove abbia preso la maggior parte delle domande...non certo sul libro....senza parole!!:wall:


Posted by luna on 03-04-2005 19:46:

ah ok :) almeno ho la conferma che la cosa è dunque stata equa :D purtroppo :(

__________________
"Solamente il cuore ti permette di vedere chiaramente.L'essenziale e' invisibile agli occhi"
bisogna vivere "alla giornata", senza crearsi troppe aspettative. quello che viene sarà un "di più" ed è da mettere nel salvadanaio.
Sono troppo una grilla petulante :D by Nous


Posted by Vale on 04-04-2005 08:05:

Dite che sarebbe possibile chiedergli il testo delle domande per cercarle un pò sul libro.... anch'io ero al secondo turno... un disastro... :-(


Posted by UZI on 04-04-2005 09:52:

ragazzi, un consiglio: è inutile disperarsi, e cmq gli argomenti chiesti che non sono espressamente trattati sul libro-slide sono sempre gli stessi ad ogni appello: tftp, bridge trasparenti e quant'altro.
basta raccogliere tutti questi argomenti e studiarseli attingendo da internet...

quindi:
tftp
bridge trasparenti
rtp (capitolo 6, che non va studiato tutto)
...

aggiungete voi il resto.

__________________
those who test will find a bullet in they chest
put ta rest
by a brotha who was hopeless
grow up broke on tha rope of insanity
how many pistols smoking coming from a broken family


All times are GMT. The time now is 03:08.
Show all 145 posts from this thread on one page

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