.dsy:it. Pages (10): « 1 [2] 3 4 5 6 » ... 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 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


All times are GMT. The time now is 00:40. Pages (10): « 1 [2] 3 4 5 6 » ... Last »
Show all 145 posts from this thread on one page

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