Ciao a tutti,
ho realizzato un software java per la comunicazione client server, volevo chiedere se esiste un modo per "forzare" l'invio di due messaggi dal server al client.
Ecco il codice Server e mi spiego meglio:
codice:
out.println("Chiave pubblica: ("+n+","+e+")");
out.flush();
out.println("Username:");
out.flush();
String username=in.nextLine();
out.println("Password");
out.flush();
String psw=in.nextLine();
in questo modo tra il mio output "Chiave pubblica......" e l'output "Username" ho il problema di dover premere invio ed avere una riga vuota tra gli output.
Mentre vorrei che venissero inviati prima uno poi l'altro senza dover dare invio dal client.
Se può servire il codice del client è il seguente:
codice:
package client1;
import java.io.*;
import java.net.*;
import java.util.Scanner;
import java.util.NoSuchElementException;
public class Client1
{
public Client1(String IP, int port)
{
this.IP=IP;
this.port=port;
}
public void startClient() throws IOException
{
Socket sock=new Socket(IP,port);
System.out.println("Connessione stabilita");
Scanner sockIN=new Scanner(sock.getInputStream());
PrintWriter sockOUT=new PrintWriter(sock.getOutputStream());
Scanner stdin=new Scanner(System.in);
String a=sockIN.nextLine();
System.out.println(a);
try{
while(true)
{
String input=stdin.nextLine();
sockOUT.println(input);
sockOUT.flush();
String sockline=sockIN.nextLine();
System.out.println(sockline);
}
}catch(NoSuchElementException e)
{
System.out.println("Connessione chiusa");
}finally
{
stdin.close();
sockIN.close();
sockOUT.close();
sock.close();
}
}
private String IP;
private int port;
}
Grazie per l'aiuto!!