Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Nuova Dacia Spring, del modello precedente resta solo il nome: più grande, più efficiente e ora prodotta in Europa
Nuova Dacia Spring, del modello precedente resta solo il nome: più grande, più efficiente e ora prodotta in Europa
La seconda generazione della citycar elettrica di Dacia passa alla piattaforma RGEV small di Renault Group, cresce di 15 cm in lunghezza e 18 cm in larghezza, adotta un motore da 80 CV e una batteria LFP da 27,5 kWh per 250 km WLTP. Prezzi da 17.900 euro, produzione a Novo Mesto in Slovenia.
BOOX Picco: l'ebook reader minuscolo è una genialata, e si può attaccare allo smartphone
BOOX Picco: l'ebook reader minuscolo è una genialata, e si può attaccare allo smartphone
BOOX ha portato sul mercato Picco, un e-reader da 3,97 pollici che pesa 58 grammi e si aggancia al retro dello smartphone con un anello magnetico. Lo abbiamo usato con Pixel 11 Pro XL e iPhone 18 Pro per capire se un formato così ridotto regga la prova della lettura quotidiana
AMD EPYC Venice: dentro Zen 6, i SoC a 256 core e la sfida al costo della memoria
AMD EPYC Venice: dentro Zen 6, i SoC a 256 core e la sfida al costo della memoria
A Las Vegas AMD ha svelato i dettagli architetturali delle CPU EPYC di sesta generazione, note con il nome in codice Venice. Nuovi core Zen 6 e Zen 6c costruiti a 2 nanometri, fino a 256 core per socket, 16 canali di memoria, interfaccia PCI Express 6.0 e un'intera famiglia di proposte che va da Venice SP7 a Verano. Senza dimenticare la memoria, oggi la voce di costo più pesante in un server: AMD risponde con CXL 3.1 e con la tecnologia software MEXT, che porta la memoria flash dentro la gerarchia della DRAM.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 17-09-2006, 21:36   #1
entrylevel
Member
 
Iscritto dal: Aug 2003
Messaggi: 55
[JAVA]Help!

Dovrei sviluppare un programma in Java che mi permetta di eseguire queste operazioni;chi mi puo' aiutare?

Client: invia al server un numero intero random compreso tra 1 e 100,
aspetta una risposta e la stampa

Server concorrente: aspetta 2 client e poi calcola il max dei valori
ricevuti dai 2 client. Quindi stampa a video i valori ricevuti e il
vincitore. In fine manda al client vincitore la stringa "Hai
vinto!"
e allo sconfitto la stringa "Hai perso!".

GRAZIE A TUTTI!!
entrylevel è offline   Rispondi citando il messaggio o parte di esso
Old 18-09-2006, 00:12   #2
TempestaT400
Member
 
Iscritto dal: Jan 2006
Messaggi: 92
un attimo.. il tempo di scriverti il codice e te lo posto!

Ultima modifica di TempestaT400 : 18-09-2006 alle 01:23.
TempestaT400 è offline   Rispondi citando il messaggio o parte di esso
Old 18-09-2006, 01:03   #3
entrylevel
Member
 
Iscritto dal: Aug 2003
Messaggi: 55
grazie mille!!:-)
Allora resto in attesa..
entrylevel è offline   Rispondi citando il messaggio o parte di esso
Old 18-09-2006, 01:23   #4
TempestaT400
Member
 
Iscritto dal: Jan 2006
Messaggi: 92
Ma lo devi fare funzionare su locale oppure devi simulare una conv con un server qualsiasi.. lo vorrei sapere per gli indirizzi e le porte!!!
TempestaT400 è offline   Rispondi citando il messaggio o parte di esso
Old 18-09-2006, 01:38   #5
TempestaT400
Member
 
Iscritto dal: Jan 2006
Messaggi: 92
L'ho fatto per il funzionamento in locale.!.

Ti posto le varie classi ed anche la classe test...
-------------------------------------------------------------------------
CLASSE:-----> CLIENT
-------------------------------------------------------------------------
Codice:
import java.io.*;
import java.net.*;

public class Client extends Thread{
	
	 int port, receivePort;
	 InetAddress addr;
	 Socket socket;
	 BufferedReader in = null;
	 PrintWriter out = null;
	 
	 int id;
			
	public Client(int id, InetAddress serverAddr, int serverPort, int receivePort){
		this.id = id;
		this.addr = serverAddr;
		this.port= serverPort;
		this.receivePort = receivePort;
	}
	
	public void run(){

		inviaNumero();
		aspettaResponso();
	}
	
	private  void inviaNumero(){
		try{
			int val = (int)(Math.random()*100)+1;
			socket = new Socket(addr, port);
			OutputStreamWriter osw = new OutputStreamWriter(socket.getOutputStream());
			out = new PrintWriter(new BufferedWriter(osw),true);
			out.println(val);
			socket.close();
		}catch(Exception e){}
			
		
	
	}
			
			private  void aspettaResponso(){
				try{
					ServerSocket server = new ServerSocket(receivePort);
					Socket client = server.accept();
					in = new BufferedReader(new InputStreamReader(client.getInputStream()));
					String line = in.readLine();
					System.out.println("client:"+id+" -> "+line);
					in.close();
					server.close();
				}catch(Exception e){}
			}
}
-------------------------------------------------------------------------

CLASSE: --> SERVER
-------------------------------------------------------------------------
Codice:
import java.io.*;
import java.net.*;


public class Server extends Thread{
	private BufferedReader in;
	private PrintWriter out;
	private int port, clientPort;
	private Integer [] dati = new Integer[2];
	private InetAddress [] clientIP = new InetAddress[2];
	
	public Server(int port, int clientPort){
		this.clientPort = clientPort;
		this.port = port;
	}
	public void run(){
		aspettaValori();
		inviaRisultati();
		System.out.println("Server inattivo");
	}
	
	private  void aspettaValori(){
		try{
			ServerSocket server = new ServerSocket(port);
			System.out.println("Server in attesa!");
			
			for(int i = 0; i<dati.length; i++){
				Socket client = server.accept();
				System.out.println("accettata conn");
				in = new BufferedReader(new InputStreamReader(client.getInputStream()));
				String line = in.readLine();
				dati[i] = new Integer(line);
				clientIP[i] = client.getInetAddress();
				System.out.println("il client: "+clientIP[i]+" ha inviato il valore:"+dati[i]);

			}
			
		}catch(Exception e){}
	}
	
	private  void inviaRisultati(){
		try{
			String mess [] = new String [2];
			
			if(dati[0].intValue()>dati[1].intValue()){
				mess[0] = "Hai vinto";
				mess[1] = "Hai perso";
			}
			else{
				mess[0] = "Hai perso";
				mess[1] = "Hai vinto";
			}
				
			Socket s = new Socket(clientIP[0], clientPort);
			out = new PrintWriter(new OutputStreamWriter(s.getOutputStream()), true);
			out.println("Hai vinto");
			out.close();
			s.close();
			s = new Socket(clientIP[1], clientPort);
			out = new PrintWriter(new OutputStreamWriter(s.getOutputStream()), true);
			out.println("Hai perso");
			out.close();
			s.close();
			}catch(Exception e){}
		}
	}
-------------------------------------------------------------------------
CLASSE TEST
-------------------------------------------------------------------------
Codice:
import java.net.*;

public class Test {
	public static void main(String [] args){
		try{
			InetAddress local = InetAddress.getByName("127.0.0.1");
			
		new Thread(new Server(3000, 4000)).start();
		new Thread(new Client(1, local, 3000, 4000)).start();
		new Thread(new Client(2, local, 3000, 4000)).start();
		}catch(Exception e){}
	}
}
-------------------------------------------------------------------------

Spero di esserti stato d'aiuto!
L'ho fatto in poco tempo e quindi il codice non è tanto ottimizzato!
Nel caso hai qualche problema contattami..
Bye bye

Ultima modifica di TempestaT400 : 18-09-2006 alle 05:00.
TempestaT400 è offline   Rispondi citando il messaggio o parte di esso
Old 18-09-2006, 09:27   #6
entrylevel
Member
 
Iscritto dal: Aug 2003
Messaggi: 55
GRRRRRRRRRRRRAZIE MILLEEEEEEE!!!!!!!!!!!!:d

Gentilissimo!!!!!!!!

In caso di problemi ti faccio sapere...

A presto

Ciao!!
entrylevel è offline   Rispondi citando il messaggio o parte di esso
Old 18-09-2006, 09:54   #7
TempestaT400
Member
 
Iscritto dal: Jan 2006
Messaggi: 92
Figurati.. non mi è costato niente!!!
Ciao ciao!
__________________
L'unico computer sicuro è un computer spento!!!
TempestaT400 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Nuova Dacia Spring, del modello precedente resta solo il nome: più grande, più efficiente e ora prodotta in Europa Nuova Dacia Spring, del modello precedente resta...
BOOX Picco: l'ebook reader minuscolo è una genialata, e si può attaccare allo smartphone BOOX Picco: l'ebook reader minuscolo è un...
AMD EPYC Venice: dentro Zen 6, i SoC a 256 core e la sfida al costo della memoria AMD EPYC Venice: dentro Zen 6, i SoC a 256 core ...
HONOR Pad X9 Max recensione, schermo ultra large a meno di 400 euro HONOR Pad X9 Max recensione, schermo ultra large...
Lenovo ThinkPad X1 Carbon Gen 14: il business ultraleggero si rinnova dall’interno Lenovo ThinkPad X1 Carbon Gen 14: il business ul...
SpaceX ha lanciato la missione Flight 15...
NVIDIA cerca il successore di Jensen Hua...
La CNSA annuncia la missione Tianwen-4 v...
Una valanga di wafer e memorie incombe s...
Microsoft 365, miglioramenti dopo il dow...
Un'IA attacca la tua azienda, ma per dif...
TSMC investe 1 miliardo di dollari in Op...
Niente più risposte IA nelle ricerche: M...
Allarmi bomba nelle scuole, il Viminale:...
OpenAI incassa 10 miliardi in tre mesi, ...
Continua il Black Friday Engwe: sconto e...
OnePlus 12 riceve Android 17 con una set...
Troppe patch generate dall'IA: anche chi...
Comprata e spenta il giorno dopo: cos'er...
Google lancia Tabletop, l'IA che trasfor...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 06:01.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v