salve ragazzi,
sto studiando le socket Java ma sbaglio qualcosa nell'implementarli. Io voglio praticamente implementare un semplice client che si connette ad un certo indirizzo,invia una stringa e stampa a video il messaggio di risposta del server.
A me non funziona, perchè ciò che scrivo resta nel client...al server non riesco a passare nulla. Come posso risolverlo?Posto il mio codice:
codice://Classe Client.java import java.io.*; import java.net.*; public class Client { public static void main(String[]args) throws IOException { String host="localhost"; String inConsole; try { Socket s=new Socket(host,2222); System.out.println("Inserisci frase:"); // creazione stream di input da socket InputStreamReader isr = new InputStreamReader( s.getInputStream() ); BufferedReader in = new BufferedReader(isr); // creazione stream di output su clientSocket OutputStreamWriter osw = new OutputStreamWriter(s.getOutputStream()); BufferedWriter bw = new BufferedWriter(osw); PrintWriter out = new PrintWriter(bw, true); //legge dalla tastiera DataInputStream bR = new DataInputStream(System.in); //BufferedReader bR=new BufferedReader(System.in); inConsole=bR.readLine(); while(!inConsole.equals("FINE")) { out.println(inConsole); String letto=in.readLine(); System.out.println(letto); inConsole=bR.readLine(); } out.println("FINE"); s.close(); } catch (IOException e) { e.printStackTrace(); } } }
//////////////////Classe Server.java
Al server non riesco a passare la stringa che io scrivo...come faccio????codice:import java.io.*; import java.net.*; public class Server { public static void main(String[]args) throws IOException { try { //creo la socket ServerSocket socket = new ServerSocket(2222); //aspetto la richiesta di connessione da un client Socket client = socket.accept(); //creo lo stream di input per comunicare con il client InputStreamReader isr = new InputStreamReader(client.getInputStream()); BufferedReader in = new BufferedReader(isr); // creazione stream di output su clientSocket OutputStreamWriter osw = new OutputStreamWriter(client.getOutputStream()); BufferedWriter bw = new BufferedWriter(osw); PrintWriter out = new PrintWriter(bw, true); String letto=in.readLine(); while(!letto.equals("FINE")) { out.println(letto+""); letto=in.readLine(); } socket.close(); client.close(); } catch(IOException e) { System.err.println("Accept failed"); System.exit(1); } } }

Rispondi quotando
