Задать вопрос
@PlagueStarScream

Проблема в java.net или в нечто другом?

Занимаюсь написанием простейшего чата. Есть клиент и сервер каждый из них принимает и пишет в сокет. Но по каким то неведомым причинам сервер не отрабатывает как нужно. По условие выше msg = null.
public void setNet(){
        try {
            ServerSocket serverSocket = new ServerSocket(5000);
                while (true){
                    System.out.println("while working");
                    Socket socket = serverSocket.accept();
                    InputStreamReader streamReader = new InputStreamReader(socket.getInputStream());
                    BufferedReader reader = new BufferedReader(streamReader);
                    msg = reader.readLine();
                    System.out.println(msg);
                    System.out.println("reader working");
                        if(msg != null){
                            writer = new PrintWriter(socket.getOutputStream());
                            writer.println(msg);
                            System.out.println("writer working");
                            writer.flush();
                            writer.close();
                         }
                         else {
                            System.out.println("msg = null");
                        }
                }
        }
        catch (Exception e) {
            e.printStackTrace();
        }
    }


Если закомментировать строчку msg = reader.readLine(); то все вполне работает.
  • Вопрос задан
  • 222 просмотра
Подписаться 1 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Java-разработчик
    10 месяцев
    Далее
  • Skillbox
    Java-разработчик
    8 месяцев
    Далее
  • Нетология
    Java-разработчик с нуля
    12 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 1
jamakasi666
@jamakasi666 Куратор тега Java
Просто IT'шник.
reader.readLine() ждет конца строки чтобы ее считать а вы ее не шлете с клиента.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы