Homepage  Il progetto dsy.it è l'unofficial support site dei corsi di laurea del Dipartimento di Scienze dell'Informazione e del Dipartimento di Informatica e Comunicazione della Statale di Milano. E' un servizio degli studenti per gli studenti, curato in modo no-profit da un gruppo di essi. I nostri servizi comprendono aree di discussione per ogni Corso di Laurea, un'area download per lo scambio file, una raccolta di link e un motore di ricerca, il supporto agli studenti lavoratori, il forum hosting per Professori e studenti, i blog, e molto altro...
In questa sezione è indicizzato in textonly il contenuto del nostro forum


.dsy:it. .dsy:it. Archive > Didattica > Corsi N - Z > Reti di calcolatori
 
[LAB - COMDIG] Argomenti di studio
Clicca QUI per vedere il messaggio nel forum
cia
sapete dove poter reperire il materiale da stud x Laboratorio?

e cosa c'è da saper fare esattamente (in base anche agli esercizi che avete svolto il 28/1) ?

Gracias:cool:

Flavia
Ti risponde Gino!

GinoPilotino
Originally posted by Flavia
Ti risponde Gino!

ma come flavia, se i programmi me li hai passati tu all'esame :D

Flavia
:sbonk:
Comunque, codice del client e server in java, sia TCP e UDP, server multithread in java, e con il C non so!

futurbaggio
Originally posted by cia
sapete dove poter reperire il materiale da stud x Laboratorio?


reti.dico.unimi.it nella sezione Diario delle Lezioni.
Più generalmente ti consigio di approfondire con i codici postati in questo Hosted e con Google se non capisci qualcosa.

Originally posted by cia
e cosa c'è da saper fare esattamente (in base anche agli esercizi che avete svolto il 28/1) ?


Ti dico per i moduli che c'erano nel mio esame il 28 gennaio:
1) Completamento di un codice Java per un client TCP: inserimento di chiamate di funzioni, specificazione di parametri (quali numero di porta) etc etc
2) Implementazione da zero di una classe Server TCP multithread, non era richiesto di costruire tutto ma solo il metodo main che lanciava un accept() e poi gestiva le richieste aprendo un thread specifico per ogni singola richiesta.
3) Implementazione del metodo run() della classe ServerThread, qualche chiamata della classe Socket() di cui si fa facilmente il copia incolla dal client :D
4) Domande a risposta multipla sul C, il miglior supporto in questo caso è il comando man di Linux... per chi non usasse Linux basta scorrere le slide di Eugenio e approfondire presso http://www.rt.com/man/

Roberto

cia
Grazie futurbaggio sei troppo the best!

cmq x la parte di C studierò le slide dl Cassiano e basta..già non so java...

futurbaggio
Originally posted by cia
cmq x la parte di C studierò le slide dl Cassiano e basta..già non so java...


Per le domande che c'erano non bastano le slide, tanto per C nn bisogna mettere giù il codice... una lettura delle man pages resta iper-consigliata

Roberto

cia
ok, allora ci darò dentro!

Barone
Originally posted by cia
ok, allora ci darò dentro!


si confermo quanto detto da futur..io avevo studiato molto bene le slide di cassiano ma sono nettamente insufficienti per affrontare la parte su "c"...vai di man pag!!

cia
vi ricordate alcune domande di quelle a risposta multipla sul C?^^

lucaburry
Mi ricordo che chiedeva maggiormente le varie primitive...

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

Molte erano anche simili ma si distinguevano per poco, una cosa positiva che spesso ti aiuta a risolvere dubbi su domande precedenti che non si sapevano :D

Roberto

Mifune
domandina...

allora vi ricordate piu o meno il codice degli esercizi chiesti l'ultimo tema?

GinoPilotino
un semplice client e un semplice server multithread in TCP :)

Mifune
grazie gino ;)

se riesci posti il code ? :lode:

Voodoo
Ragazzi scusate la domanda ma la chat java fatta da yeah o futurbaggio o che so io,che fine ha fatto? Ho guardato tutti i thread e nn l'ho mica trovata! Non è che la rimettete?

Thx

Ciauz

Voodoo
Trovato.Scusate,facevo next Thread e mi diceva che eran finiti ma invece..... :p

ciauz

GinoPilotino
Originally posted by Mifune
grazie gino ;)

se riesci posti il code ? :lode:

spulciando tra l'hdd ecco il codice client e server che ho fatto per alcune prove

client
code:
import java.io.*; import java.net.*; class client { public static void main (String args[]) throws Exception { boolean connessione=true; int porta=4567; //la porta del server in ascolto è 4567 quindi creerò la socket su tale porta per connettermi String versoServer, daServer; Socket s=null; //cerco di creare la socket per connettermi try { s = new Socket ("localhost", porta); } catch (IOException e) { System.out.println("connessione non avvenuta"); System.exit(0); //se non avviene la connessione per qualche motivo esco dal programma } //creo le variabili rispettivamente per leggere da tastiera, leggere dalla socket e scrivere dalla socket BufferedReader inFromUser = new BufferedReader (new InputStreamReader(System.in)); BufferedReader inFromServer = new BufferedReader (new InputStreamReader(s.getInputStream())); DataOutputStream outToServer = new DataOutputStream (s.getOutputStream()); while (connessione) { //accetto da tastiera una frase da inviare al server System.out.print("inserisci la frase che vuoi inviare al server: "); versoServer=inFromUser.readLine(); //la invio al server outToServer.writeBytes(versoServer+"\n"); //ricevo la frase dal server daServer=inFromServer.readLine(); System.out.println("Il server ha scritto: " + daServer); //usciamo dal while connessione=false; } //chiudo la connessione con la serversocket s.close(); } }


server
code:
import java.io.*; import java.net.*; class server { public static void main (String args[]) throws Exception { ServerSocket server=null; //creo la serversocket che accetterà le connessioni dei client Socket servizio=null; //creo la socket che gestirà la comunicazione coi client /*cerco di creare la serversocket dove 4567 è la porta e 300 è il # max di connessioni che può accettare contemporaneamente*/ try { server = new ServerSocket(4567, 300); } catch (IOException e) { System.out.println("creazione serversocket non avvenuta"); System.exit(0); } //inizio a creare l'oggetto serverthread serverthread t; System.out.println("\nServer in attesa di connessioni\n"); //eseguiamo il ciclo un # infinito di volte [se vogliamo possiamo modificare questo] while (true) { //servizio prende la connessione effettuata sul server servizio=server.accept(); System.out.println("connessione accettata\n"); //passo i parametri al thread e successivamente lo lancio t = new serverthread (servizio); t.start(); System.out.println("Thread lanciato\n"); System.out.println("Ritorno in attesa di connessioni\n"); /*quando eseguirai il programma ti accorgerai che il server ritornerà in attesa di connessioni subito dopo aver lanciato il thread, quindi anche se un utente non scrive niente al server qualcun'altro si potrà collegare e il server lancierà un altro thread*/ } } } class serverthread extends Thread { Socket s=null; String daClient, versoClient; 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(); //per semplicità modifico solo la stringa in maiuscolo e gliela rimando indietro versoClient=daClient.toUpperCase(); outToClient.writeBytes(versoClient+"\n"); //chiudo la connessione col client System.out.println("Esco dal Thread\n"); s.close(); } catch (IOException e) { } } }


per la parte sull'udp vedere libro capitolo 3, mentre per le chat (sia in tcp che in udp) basta modificare un filo il codice con un ciclo di tipo while e il gioco è fatto.

riguardo alla parte inerente il c conviene leggersi molto bene le slides e soprattutto capire come vengono implementati i vari metodi guardando gli ottimi esempi (fondamentali!!!) postati da futurbaggio su questo forum.

in bocca al lupo a tutti per l'esame ;)

Flavia
Cioè solo client e server in C? :D
Bel codice Gino, l'ho già visto da qualche parte! :-D

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

Molte erano anche simili ma si distinguevano per poco, una cosa positiva che spesso ti aiuta a risolvere dubbi su domande precedenti che non si sapevano :D

Roberto

Ma a me sembra che ci siano sulle slide no?

futurbaggio
Originally posted by Flavia
Ma a me sembra che ci siano sulle slide no?


Ognuno fa come gli pare, io ho dato un consiglio...

Roberto

Flavia
Originally posted by futurbaggio
Ognuno fa come gli pare, io ho dato un consiglio...

Roberto

Non ti ho mica criticato! Anzi, le sto leggendo le MAN! Ho notato solo che i metodi e le funzioni che chiedeva all'esame c'era sulle slide di Cassiano, anche se non trattate approfonditamente! :-D

cia
Originally posted by GinoPilotino

per le chat (sia in tcp che in udp) basta modificare un filo il codice con un ciclo di tipo while e il gioco è fatto.


in quali punti bisogna fare la modifica?:cool::D

GinoPilotino
Originally posted by cia
in quali punti bisogna fare la modifica?:cool::D
:sbonk:

Flavia
Dato che Gino è pigro.. :D
http://www.dsy.it/forum/showthread....15&pagenumber=1

Guarda il codice postato da Yeah che è perfetto!!!!

cia
Gracias!

lucaburry
Ragazzi qualcuno puo' gentilmente postare il codice di un semplice client e un semplice server multithread in UDP...

GRAZIE!!!!!!!!!!

Flavia
Originally posted by lucaburry
Ragazzi qualcuno puo' gentilmente postare il codice di un semplice client e un semplice server multithread in UDP...

GRAZIE!!!!!!!!!!


Server multithread in UDP??? Non penso che esista..o se esiste non l'abbiamo fatto! :-D

lelloraf
ciao ragazzi tra un po dovro sostenere la prova di reti di calcolatori volevo chiedervi se avevate esercizi svolti oppure link dove andarlia prendere aspetto vostre notizie.grazie

Flavia
per la teroai penso non servano esercizi!
per il laboratorio guarda su reti.dico.unimi.it tutto il materiale che c'è, soprattutto le slide di cassaino su Java e C per la costruzione dei codici!

luna
Intervento del moderatore:
ho fatto merge con un thread gia' esistente

boban
Scusate il Server Web è da fare??Ho visto che nessuno ne parla??
non l'hamai chciesto nei passati appelli??
GRAZIE:)

yeah
Non che io sappia.

Personalmente lo troverei ad un livello leggermente più avanzato rispetto agli esercizi che ha dato negli ultimi appelli (implicherebbe una minima conoscenza del protocollo HTTP, come sono fatti gli header etc...), non si sa mai però per i prossimi :D

Flavia
Veramente io il web server java l'ho trovato abbastanza utile per capire come funzionava la classe StringTokenizer, che nell'ultimo appello chiedeva...

yeah
Ha chiesto la StringTokenizer? Bah... non mi sembra esattamente 'una cosa di base'... :roll:

joker402
Originally posted by yeah
Ha chiesto la StringTokenizer? Bah... non mi sembra esattamente 'una cosa di base'... :roll:
non l'ha chiesta direttamente ma serviva per fare le operazioni che erano specificate nel testo degli esercizi. E infatti spero che nel vautare questa parte conti poco più che niente proprio perchè non c'entra direttamente con le conoscenze che erano richieste. :)

Barone
a poco meno di 20 gg dal prossimo appello vi chiedo:
il web server HTTP è mai uscito nei precedenti appelli? a me sembra di no..

aesse
Originally posted by Barone
a poco meno di 20 gg dal prossimo appello vi chiedo:
il web server HTTP è mai uscito nei precedenti appelli? a me sembra di no..


Anche a me sembra non sia mai uscito.

Quello che chiede sempre è tcp/udp multithread, e qualcosina di programmazione per dare un senso all'esercizio.

Ad esempio vedere se un numero è pari, saper dividere una stringa in piu' stringhe. Nell'ultimo appello volendo si poteva fare la conversione da caratteri a interi, ma se non ti ricordi un dettaglio scrivi in un commento cosa volevi fare, in modo da far capire a Cassiano che le cose le sai..

Sir Punk
non e' mai uscito.

qualcuno hai degli esercizi semplici dei seguenti problemi?

client, serverthread, server multithread

sia in TCP che in UDP?

grazie

luna
se guardi nell'area filez forse puoi trovare qualcosa ;)

Barone
Originally posted by luna
se guardi nell'area filez forse puoi trovare qualcosa ;)


non c'è molta roba che ci riguarda mi sembra..:)

luna
bè mi pare che ci siano i codici svolti degli scorsi appelli...
quelli postati da paolo...credo che vi interessino no?sono qui:
http://www.dsy.it/forum/showthread....&threadid=18489 ci sono gli appelli del primo marzo e dell'1 aprile se non sbaglio...
magari vi servono, non so!:)

Barone
Originally posted by luna
bè mi pare che ci siano i codici svolti degli scorsi appelli...
quelli postati da paolo...credo che vi interessino no?sono qui:
http://www.dsy.it/forum/showthread....&threadid=18489 ci sono gli appelli del primo marzo e dell'1 aprile se non sbaglio...
magari vi servono, non so!:)


ah si ora ok...prima forse c'era un link sbagliato ;)

grazie luna

josh
Ciao a tutti:
Posso chiedervi una cosa molto easy :

Dove si trovano:

le slide di Cassano per il c?
e le man pages?

...ps: serve altro da studiacchiare per la parte di C?

yeah

e le man pages?

Se hai linux dalla shell, altrimenti Unix Man Pages

Barone
le slide di cassIano si trovano nella parte dei doc sul sito di prini
http://reti.dico.unimi.it/index.php...4acfdf520e672d7
devi loggarti con account del silab attivo

le man page basta che usi linux, apri la shell e digiti: man "quello che ti interessa approfondire". Se nn hai linux (malissimo direbbe il mio tutor!!), cerca su google che le trovi sicuramente..oppure cerca i1 post di futurbaggio, qui da qualche parte, che dava un link diretto...

josh
scusa la super ignoranza ma che devo studiare delle man pages?

Brov84
Qualcuno ha una Chat UDP in Java..serve disperatamente...grazie 1000!!! :shock:

Biffone
quali sono le primitive in c che chiede spesso all'esame?

vorrei fare un elenco; ognuno è libero di fare la sua segnalazione.

mi viene in mente:

Socket
Connect
Bind
Listen
Accept
Close
Getsockname
Getpeername

mi viene in mente nell'ultimo esame una domanda in cui era coinvolto il DNS. Qualcuno la ricorda nel dettaglio?


buono studio !!!

Powered by: vbHome (lite) v4.1 and vBulletin v2.3.1 - Copyright ©2000 - 2002, Jelsoft Enterprises Limited
Mantained by dsy crew (email) | Collabora con noi | Segnalaci un bug | Archive | Regolamento |Licenze | Thanks | Syndacate