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
 Nuova Discussione  Rispondi
 Versione Stampabile Bookmark this Topic Aggiungi Segnalibro
I seguenti utenti stanno leggendo questo Forum Qui c'è:
Autore Discussione Precedente Discussione Discussione Successiva  

shadow89
Nuovo Utente


Regione: Puglia
Prov.: Foggia
Città: San Marco in Lamis


Inserito il - 21/11/2009 : 17:34:02  Mostra Profilo  Visita l'Homepage di shadow89  Clicca per vedere l'indirizzo MSN di shadow89 Invia a shadow89 un Messaggio Privato  Rispondi Quotando
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();
}
}
}

Modificato da - shadow89 in Data 21/11/2009 17:38:45

supernova87
Utente medio


Regione: Puglia
Prov.: Bari
Città: MOLFETTA


Inserito il - 24/11/2009 : 20:25:15  Mostra Profilo  Visita l'Homepage di supernova87  Clicca per vedere l'indirizzo MSN di supernova87 Invia a supernova87 un Messaggio Privato  Rispondi Quotando
mamma mia...davvero imbarazzante...
Torna all'inizio della Pagina
  Discussione Precedente Discussione Discussione Successiva  
 Nuova Discussione  Rispondi
 Versione Stampabile Bookmark this Topic Aggiungi Segnalibro
Vai a:
Forum by laureateci.it © 2002 - 2012 Laureateci Communications Torna all'inizio della Pagina
Il DB ha risposto in 0,19 secondi.

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