Problemi comunicazione protocollo TCP con java

di il
1 risposte

Problemi comunicazione protocollo TCP con java

Ciao, ho scritto un client e un socket utilizzadando il protocollo TCP.
CLIENT:

//client TCP
//importo le librerie necessarie
import java.io.*;
import java.net.*;

//inizio classe
class client {
 //inizio main con IOException per il bufferreader
 public static void main(String argv[] ) throws IOException{
   //le prime 2 stringhe saranno aranno utlizzate per input da tastiera e l'ultima per la ricezione dal server
   String primo, secondo, somma;
   //buffer di lettura in locale
   BufferedReader locale = new BufferedReader(new InputStreamReader(System.in));
   //socket comunicazione
   Socket cliSocket = new Socket("127.0.0.1", 6789);
   //processo in uscita verso il soket
   DataOutputStream versoServer = new DataOutputStream(cliSocket.getOutputStream()); 
   //processo di entrata dal socket
   BufferedReader dalServer = new BufferedReader(new InputStreamReader(cliSocket.getInputStream()));
   //leggo i dati in locale
   System.out.println("Valore");
   primo = locale.readLine();
   versoServer.writeBytes(primo);
   //leggo i dati in locale
   System.out.println("Valore");
   secondo = locale.readLine();
   versoServer.writeBytes(secondo);
   //ricevo dati modificati al server
   somma = dalServer.readLine();
   //stampo risultati
   System.out.println(" DAL SERVER LA SOMMA: " + somma ); 
   cliSocket.close();
 }//fine main
}//fine classe  
SERVER:

//server TCP
//importo le librerie necessarie
import java.io.*;
import java.net.*;
//inizio classe
class server {//inizio main con IOExction per il bufferreader
    public static void main(String argv[]) throws IOException {
     //uno,due saranno utilizzate per la ricezione, tot lo usero per la spedizione della somma
     String uno,due,tot;
     //one,two saranno i valori convertiti provenienti dal client
     //sum sarà la somma che utilizzero per sommare i 2 valori 
     int one,two,sum;
     //soket di comunicazione specificando la porta
     ServerSocket welcomeSocket =new ServerSocket(6789);
     while(true){
         //accetto il socket
         Socket connectionSocket = welcomeSocket.accept();
         //buffer lettura da client
         BufferedReader inFromClient = new BufferedReader(new InputStreamReader(connectionSocket.getInputStream()));
         //dati in spezione verso il client
         DataOutputStream outToClient = new DataOutputStream(connectionSocket.getOutputStream());
         //lettura string e conversione int
         uno = inFromClient.readLine();
         one = Integer.parseInt(uno);
         due = inFromClient.readLine();
         two = Integer.parseInt(due);
         //sommo int
         sum =one+two;
         //converto in string per spedirlo
         tot= Integer.toString(sum);
         //outToClient.writeBytes(tot + "/n" );PROVA NON CONTARE
         outToClient.writeBytes(sum + " /n" );
         //chiudo il socket
         connectionSocket.close();
     }
    }//fine main
}//fine classe
Come vedete, sembra tutto giusto, compilandolo non da problemi, ma se faccio partire server e client, il client mi fa immettere i dati, dopo non succede nulla quando dovrebbe sommare nel server.
Qualcuno + bravo di me(cioè tutti) saprebbe dirmi dove sbaglio?
Grazie

1 Risposte

  • Re: Problemi comunicazione protocollo TCP con java



    alla fine del documento(5 paginette scritte a caratteri cubitali) c'è cio' che ti serve....fondamentalmente non hai settato il server per rispondere al client(l'errore è sulle porte). al di la' di tutto te lo consiglio anche come lettura...è speigato davvero bene la comunicazione al livello tcp tra client e server.

    quello che hai fatto tu sembra funzionare ...... ma non funzia.....
    spero di non essere arrivato in ritardo.

    Saluti.
    mario
Devi accedere o registrarti per scrivere nel forum
1 risposte