Pages (10): [1] 2 3 4 5 » ... Last » 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)
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!
__________________
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 ( )
-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!
__________________
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.
scusa Flavia, ma il server multithread di cui parli equivale a dire multiutente?
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!
Se vuoi e se trovo tempo, ti scrivo il codice che ho fatto io all'esame!
__________________
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.
Originally posted by Flavia
Se vuoi e se trovo tempo, ti scrivo il codice che ho fatto io all'esame!
se lo posti mi fai un favorone grazie!!
__________________
Originally posted by Flavia
Se vuoi e se trovo tempo, ti scrivo il codice che ho fatto io all'esame!
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?
__________________
Originally posted by urcodiazfino a ora si, ha chiesto di scrivere codice solo in java.
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?
__________________
Ogni uomo mente, ma dategli una maschera e sarà sincero.
~ joker402 ~
-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?
__________________
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?
__________________
r
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?
__________________
Non so per la parte UDP.
i programmi non vanno compilati, li scrivi in blocco notes e basta!
__________________
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.
Originally posted by Flavia
Se vuoi e se trovo tempo, ti scrivo il codice che ho fatto io all'esame!
[/B]
__________________
--I---DaniFilth---I--
ENDLESS SACRIFICE!!!
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() ;
}
}
}
All times are GMT. The time now is 08:22. | Pages (10): [1] 2 3 4 5 » ... Last » Show all 145 posts from this thread on one page |
Powered by: vBulletin Version 2.3.1
Copyright © Jelsoft Enterprises Limited 2000 - 2002.