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