Я начинаю с розеток в первый раз.Я пытаюсь настроить сервер, единственная функция которого - возвращать клиенту строку, которую я отправляю.Клиент не отправляет строку, а сервер не получает ее.Вот код:
Код сервера:
package servidor;
//All imports needed
public class Servidor {
public static void main (String[] args){
try{
ServerSocket socketServidor = new ServerSocket(2000);
Socket socketDatos = socketServidor.accept();
PrintWriter escribirCliente = new PrintWriter(socketDatos.getOutputStream(),true);
BufferedReader leerCliente = new BufferedReader(new InputStreamReader(socketDatos.getInputStream()));
String linea;
while((linea = leerCliente.readLine())!= null){
System.out.println("hola");
System.out.println("Server: "+ linea);
escribirCliente.println(linea);
if(linea.equals("x")){
break;
}
}
socketDatos.close();
escribirCliente.close();
leerCliente.close();
socketServidor.close();
} catch (IOException e){
System.out.println("Fallo en la conexion.");
}
}
}
Код клиента:
package cliente;
//All imports needed
public class Cliente {
public static void main(String[] args) throws IOException{
Socket socket = new Socket("localhost", 2000);
BufferedReader leerServidor = new BufferedReader(new InputStreamReader(socket.getInputStream()));
PrintWriter escribirServidor = new PrintWriter(socket.getOutputStream());
BufferedReader teclado = new BufferedReader(new InputStreamReader(System.in));
String linea = teclado.readLine();
//System.out.println(""+linea);
while (!(linea.equals("x"))){
System.out.println("en while");
escribirServidor.println(linea);
System.out.println("eco: "+ leerServidor.readLine());
linea = teclado.readLine();
}
escribirServidor.close();
leerServidor.close();
teclado.close();
socket.close();
}
}
Дело в том, что на клиенте выполнение никогда не достигает "Эко ", но это действительно до" время ".Но на сервере, пока ни разу не дошло.Даже не печатая "привет".Я предположил, что проблема должна быть при чтении строки, но я не смог ее исправить.
Есть идеи?
Заранее спасибо!