Java Client-Server [закрыт]

140
16 декабря 2020, 17:50
Закрыт. Этот вопрос не по теме. Ответы на него в данный момент не принимаются.

Хотите улучшить этот вопрос? Обновите вопрос так, чтобы он вписывался в тематику Stack Overflow на русском.

Закрыт 1 год назад.

Улучшить вопрос

Почему сервер не принимает ввод от клиента? В чем ошибка?

public class Client
{   
 public static void main(String[] args)
{
  try(Socket client=new Socket("192.168.56.1",7000);
        PrintWriter pw = new PrintWriter(client.getOutputStream(), true);
    BufferedReader reader=new BufferedReader(new InputStreamReader(client.getInputStream())))
    {
        String Text;
        System.out.println(reader.readLine());
        Scanner sc=new Scanner(System.in);
        Text = sc.nextLine();
        pw.print(Text);
        System.out.println(reader.readLine());
        Text = sc.nextLine();
        pw.print(Text);

    } catch (IOException e)
    {
        e.printStackTrace();
    }
}

}

 public class Server
{ 
 public static void main(String[] args)
{
    try(ServerSocket serverSocket=new ServerSocket(7000))
    {
        System.out.println("Start");
        try (Socket server = serverSocket.accept();
             BufferedReader reader=new BufferedReader(new InputStreamReader(server.getInputStream()));
             PrintWriter pw = new PrintWriter(server.getOutputStream(), true))
        {
            pw.println("Write text");
            String terx = reader.readLine();
            pw.println("Text "+terx);
            String file;
            file=reader.readLine();
        }
    } catch (IOException e) {
        e.printStackTrace();
    }
}

}

Answer 1

Используйте pw.println() вместо pw.print() Или Добавляйте в конец строки System.lineSeparator(), после чего pw.flush(); Да, параметр autoFlush = true работает только с println() тыць

Answer 2

Это dead lock - сервер ждет, когда клиент что-то напишет, а клиент занят тем же - у сокета операция чтения блокирующая, пока не придет сообщение/сокет не закроется, так и будет висеть в ожидании.

READ ALSO
Очистить массив ArrayList<ArrayList<String[]>> из памяти

Очистить массив ArrayList<ArrayList<String[]>> из памяти

Подскажите пожалуйста, правильно ли я очищаю глобальные массивы из памяти, и надо ли это вообще делать?

117
Помогите разобраться с циклом (Iterator) для List

Помогите разобраться с циклом (Iterator) для List

У меня есть ArrayList box (коробка с фигурами)Мне нужно реализовать метод, который вытаскивает из коробки все круглые фигуры

126
Подключение библиотеки в IntelliJ IDEA

Подключение библиотеки в IntelliJ IDEA

Нашел библиотеку на GitHub https://githubcom/processing/processing-sound но не понимаю как подключить без jar файла, Maven не использую

121
Замена компонента с помощью Mockito

Замена компонента с помощью Mockito

Писал тест для своего проекта на Spring Boot и появилась проблема: класс, который я тестирую, использует в одном из своих методов компонент CrudRepository...

107