Mi servidor se ve así:
package marshexample; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStream; import java.io.Reader; import java.net.ServerSocket; import java.net.Socket; public class marshServer { private ServerSocket ses; private Reader br; private OutputStream os; public marshServer() { StringBuilder sb = new StringBuilder(); try { ses = new ServerSocket(7824); Socket s = ses.accept(); br = new InputStreamReader(s.getInputStream()); char[] request = new char[6]; int count = br.read(request); while (!sb.toString().contains("project")) { sb.append(new String(request, 0, count)); count = br.read(request); System.out.println(sb.toString()); } System.out.println(sb); os = s.getOutputStream(); os.write("string from server".getBytes()); os.write("empty line".getBytes()); os.flush(); } catch (Exception e) { e.printStackTrace(); } System.out.println(sb); }}El problema es que tengo que agregar la cadena os.write("línea vacía".getBytes()); para que funcione correctamente. Sin esta cuerda, el masaje no se envía completamente al cliente. (La misma situación es con el cliente). Entonces, ¿por qué el método de descarga no resuelve este problema? ¡Gracias por cualquier idea!