.dsy:it. 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)


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() ;
}
}
}


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.