@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(); то все вполне работает.
  • Вопрос задан
  • 220 просмотров
Пригласить эксперта
Ответы на вопрос 1
jamakasi666
@jamakasi666 Куратор тега Java
Просто IT'шник.
reader.readLine() ждет конца строки чтобы ее считать а вы ее не шлете с клиента.
Ответ написан
Ваш ответ на вопрос

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

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