![]() |
Pages (10): « First ... « 3 4 5 6 [7] 8 9 10 » 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)
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(); } }
code:
public class serverUDP { public static void main(String args[]) throws Exception { ThreadUDP t; t = new ThreadUDP(); t.start(); } }
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) {} } }
__________________
msn: paolo198328@hotmail.com
mi spiace..io parlo un altra lingua...
__________________
Break Out
codice di merda! FKL!
__________________
FCERCASI BATTERISTA
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
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
__________________
msn: paolo198328@hotmail.com
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
siamo OT..torniamo allo splendido e affascinante mondo di JAVA
__________________
Break Out
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 by Nous
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(); } }
code:
public class serverUDP { public static void main(String args[]) throws Exception { ThreadUDP t; t = new ThreadUDP(); t.start(); } }
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) {} } }
__________________
Break Out
Originally posted by urcodiaz
quindi devo usare la classe engine?
__________________
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
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
__________________
msn: paolo198328@hotmail.com
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
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
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
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...
__________________
msn: paolo198328@hotmail.com
All times are GMT. The time now is 03:43. | Pages (10): « First ... « 3 4 5 6 [7] 8 9 10 » Show all 145 posts from this thread on one page |
Powered by: vBulletin Version 2.3.1
Copyright © Jelsoft Enterprises Limited 2000 - 2002.