Salve a tutti,
ho un problema in un applicazione client-server.Il client invia una fotografia al server e il server risponde con un messaggio di risposta. Vi posto il codice...
Server:
Client:codice:public class Server { public static void main(String[] args) throws Exception { String response="response"; ServerSocket socket = new ServerSocket(3333); while (true) { Socket clientSocket = socket.accept(); DataInputStream dis = new DataInputStream(clientSocket.getInputStream()); FileOutputStream fout = new FileOutputStream("output.jpg"); int i; while ( (i = dis.read()) > -1) fout.write(i); DataOutputStream outToClient= new DataOutputStream(clientSocket.getOutputStream()); outToClient.writeBytes(response); fout.flush(); fout.close(); dis.close(); outToClient.close(); clientSocket.close(); } } }
Il problema è che il client non riceve la risposta dal server e credo che sia in queste righe:codice:public static void main(String[] args) throws Exception { // TODO Auto-generated method stub String sentence; int i; FileInputStream fis = new FileInputStream ("pathphoto.jpg"); Socket sock = new Socket ("hostname",3333); DataOutputStream os = new DataOutputStream(sock.getOutputStream()); System.out.println("Sending...."); while ((i = fis.read()) > -1) os.write(i); BufferedReader inFromServer= new BufferedReader(new InputStreamReader(sock.getInputStream())); sentence=inFromServer.readLine(); System.out.println("FROM SERVER: " + sentence); fis.close(); os.close(); sock.close(); } }
poichè senza di queste il server invia la risposta, però poi non posso visualizzarla a video nel client. Qualche consiglio su come risolvere il problema ? Graziecodice:BufferedReader inFromServer= new BufferedReader(new InputStreamReader(sock.getInputStream())); sentence=inFromServer.readLine();

Rispondi quotando
