Ciao, questo è il codice con DataInputStream e DataOutputStream:
Client
codice:
import java.io.*;
import java.net.*;
class Client{
public static void main(String argv[]) throws Exception {
int somma;
int num;
Socket clientSocket = new Socket("localhost", 6789);
//output al Server
DataOutputStream outToServer= new DataOutputStream(clientSocket.getOutputStream());
//input da tastiera
DataInputStream dis =new DataInputStream(System.in);
//input da server
DataInputStream dis2=new DataInputStream(clientSocket.getInputStream());
System.out.println("Inserire un intero: ");
num=dis.readInt();
System.out.println("Il numero inserito é "+ num);
outToServer.writeBytes(num + "\n");
outToServer.flush();
somma=dis2.readInt();
System.out.println("La somma incrementata di uno è : "+somma);
clientSocket.close();
}
}
Server
codice:
import java.io.*;
import java.net.*;
class Server{
public static void main(String argv[]) throws Exception {
int num;
int somma;
ServerSocket welcomeSocket = new ServerSocket(6789);
while(true) {
Socket connectionSocket = welcomeSocket.accept();
System.out.println("Server connesso...");
//input dal Client
DataInputStream dis= new DataInputStream(connectionSocket.getInputStream());
//output al Server
DataOutputStream outToClient = new DataOutputStream(connectionSocket.getOutputStream());
num=dis.readInt();
System.out.println("Il numero ricevuto dal client è : "+ num);
//calcolo somma +1
somma= num+1;
outToClient.writeInt(somma);
outToClient.flush();
connectionSocket.close();
}
}
}
Questo è il risultato quando si inserisce da tastiera un intero ad es. 4:
Dal Client
codice:
Inserire un intero:
4
Il numero inserito é 873269773
La somma incrementata di uno è : 943141683
Dal Server
codice:
Server connesso...
Il numero ricevuto dal client è : 943141682