Forum by laureateci.it
[ Home | REGOLE FORUM | Tutti i blog | Profilo | Registrati | CHAT | Discussioni Attive | Discussioni Recenti | Segnalibro | Msg privati | Sondaggi Attivi | Utenti | Download Informatica | Download ICD | Download TPS | Download Magistrale | Download Specialistica | Giochi | Cerca nel web | cerca | faq | RSS ]
Nome Utente:
Password:
Salva Password
Password Dimenticata?

 Tutti i Forum
 ITPS - Secondo Anno
 Reti di calcolatori
 Esercizi di laboratorio svolti

Nota: Devi essere registrato per poter inserire un messaggio.
Per registrarti, clicca qui. La Registrazione è semplice e gratuita!

Larghezza finestra:
Nome Utente:
Password:
Modo:
Formato: GrassettoCorsivoSottolineatoBarrato Aggiungi Spoiler Allinea a  SinistraCentraAllinea a Destra Riga Orizzontale Inserisci linkInserisci EmailInserisci FlashInserisci Immagine Inserisci CodiceInserisci CitazioneInserisci Lista Inserisci Faccine
   
Icona Messaggio:              
             
Messaggio:

  * Il codice HTML è OFF
* Il Codice Forum è ON

Smilies
Approvazione [^] Arrabbiato [:(!] Bacio [:X] Bevuta [:273]
Caldo [8D] Compiaciuto [8)]    
compleanno [:269]
Davvero Felice [:D] Diavoletto [}:)] Disapprovazione [V] Domanda [?]
Felice [:)] Fumata [:29] Goloso [:P] Imbarazzato [:I]
Infelice [:(] Morte improvvisa da [:62]
Morto [xx(] Occhio Nero [B)] Occhiolino [;)] Palla 8 [8]
pc [:205]    
Riproduzione [:76]
Scioccato [:O]      

   Allega file
  Clicca qui per inserire la tua firma nel messaggio.
Clicca qui per sottoscrivere questa Discussione.
    

V I S U A L I Z Z A    D I S C U S S I O N E
shadow89 Inserito il - 21/11/2009 : 17:34:02
Esercizio di Laboratorio MathServer e MathClient svolto

//MathClient Class

import java.io.*;
import java.net.*;

public class MathClient {
public static void main(String[] args) throws IOException {

System.out.println("CLIENT IS READYING");

Socket MathSocket = null;
PrintWriter out = null;
BufferedReader in = null;

try {
MathSocket = new Socket("localhost", 4321);
out = new PrintWriter(MathSocket.getOutputStream(), true);
in = new BufferedReader(new InputStreamReader(MathSocket.getInputStream()));
} catch (UnknownHostException e) {
System.exit(1);
} catch (IOException e) {
System.exit(1);
}

BufferedReader stdIn = new BufferedReader(new InputStreamReader(System.in));
String fromServer;
String fromUser;
boolean control = false;

while ((fromServer = in.readLine()) != null && control == false ) {
if (fromServer.equals("CONNECTED")){
System.out.println(fromServer);
fromUser = stdIn.readLine();
if (fromUser.equals("SUM")) {
out.println(fromUser);
while ((fromServer = in.readLine()) != null) {
if (fromServer.equals("OP1")){
System.out.println("Operatore Primo");
fromUser = stdIn.readLine();
out.println(fromUser);
}
while ((fromServer = in.readLine()) != null) {
if (fromServer.equals("OP2")){
System.out.println("Operatore Secondo");
fromUser = stdIn.readLine();
out.println(fromUser);
}
while ((fromServer = in.readLine()) != null) {
System.out.println(fromServer);
break;
}
break;
}
break;
}
}
else if (fromUser.equals("SUB")) {
out.println(fromUser);
while ((fromServer = in.readLine()) != null) {
if (fromServer.equals("OP1")){
System.out.println("Operatore Primo");
fromUser = stdIn.readLine();
out.println(fromUser);
}
while ((fromServer = in.readLine()) != null) {
if (fromServer.equals("OP2")){
System.out.println("Operatore Secondo");
fromUser = stdIn.readLine();
out.println(fromUser);
}
while ((fromServer = in.readLine()) != null) {
System.out.println(fromServer);
break;
}
break;
}
break;
}
}
else if (fromUser.equals("QUIT")) {
out.println(fromUser);
while ((fromServer = in.readLine()) != null) {
if (fromServer.equals("CONNESSIONE TERMINATA")){
System.out.println(fromServer);
control = true;
break;
}
}
}
}
}
out.close();
in.close();
stdIn.close();
MathSocket.close();
}
}



questa invece è la classe mathserver modificata per gestire più connessioni



//MathServer
import java.net.*;
import java.io.*;

public class MathServer{

public void start() throws Exception{

System.out.println("SERVER READY");
ServerSocket serverSocket = null;

try {
serverSocket = new ServerSocket(4321);
} catch (IOException e) {
System.exit(1);
}

while (true){
System.out.println("In attesa di chiamate dai Client... ");
Socket socket = serverSocket.accept();
System.out.println("Ho ricevuto una chiamata di apertura da:\n" + socket);
Protocol serverThread = new Protocol(socket);
serverThread.start();
}
}
public static void main(String[] args) throws Exception{
MathServer server = new MathServer();
server.start();
}
}



e successivamente la classe protocol ove vi è implementato il protocollo


//Prtotocol class
import java.net.*;
import java.io.*;

public class Protocol extends Thread {
private Socket clientSocket;
public Protocol(Socket socket){
this.clientSocket = socket;
}

public void run (){
try {
PrintWriter out = new PrintWriter(clientSocket.getOutputStream(), true);
BufferedReader in = new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));
String inputLine;
String outputLine;
outputLine = "CONNECTED";
out.println(outputLine);

boolean control = false;

while ((inputLine = in.readLine()) != null && control == false) {
if (inputLine.equals("SUM")){
int OP1;
int OP2;
outputLine = "OP1";
out.println(outputLine);
while ((inputLine = in.readLine()) != null) {
OP1 = Integer.parseInt(inputLine);
outputLine = "OP2";
out.println(outputLine);
while ((inputLine = in.readLine()) != null) {
OP2 = Integer.parseInt(inputLine);
int rst = OP1 + OP2;
outputLine = "il risulato è " + rst;
out.println(outputLine);
break;
}
break;
}
}
else if (inputLine.equals("SUB")){
int OP1;
int OP2;
out.println("OP1");
while ((inputLine = in.readLine()) != null) {
OP1 = Integer.parseInt(inputLine);
out.println("OP2");
while ((inputLine = in.readLine()) != null) {
OP2 = Integer.parseInt(inputLine);
int rst = OP1 - OP2;
out.println("il risulato è " + rst);
break;
}
break;
}
}
else if (inputLine.equals("QUIT")){
out.println("CONNESSIONE TERMINATA");
control = true;
break;
}
outputLine = "CONNECTED";
out.println(outputLine);
}
out.close();
in.close();
clientSocket.close();


} catch (IOException e) {
e.printStackTrace();
}
}
}
1   U L T I M E    R I S P O S T E    (in alto le più recenti)
supernova87 Inserito il - 24/11/2009 : 20:25:15
mamma mia...davvero imbarazzante...

Forum by laureateci.it © 2002 - 2012 Laureateci Communications Torna all'inizio della Pagina
Il DB ha risposto in 0,06 secondi.

TargatoNA.it | SuperDeejay.Net | Antidoto.org | Brutto.it | Equiweb.it | Snitz Forum 2000