Не удалось прочитать из входного потока сокета - PullRequest
0 голосов
/ 16 марта 2020

В настоящее время я программирую систему чата, используя ServerSocket и Socket с JFrame пользовательским интерфейсом. Но я борюсь с чтением из Socket Stream.

Вот мой код сервера:

    ServerSocket serverSocket = new ServerSocket(PORT);
    Socket socket;

        systemStatus.append(displayStatus("Server starts on port: ") + serverSocket.getLocalPort() + "\n");
        while (true) {
            socket = serverSocket.accept();
            BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
            PrintWriter out = new PrintWriter(socket.getOutputStream());
            while (true) {
                String line = in.readLine();
                while (line != null) {
                    line = in.readLine();
                    systemStatus.append(line);
                }
            }

        }

и код кнопки отправки на клиенте:

    log_regButton.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                String login = log_loginField.getText().trim();
                String pw = log_pwordField.getText().trim();
                out.write(login + "\n" + pw+"\n");
                out.flush();
            }
        });

который systemStatus является JTextArea. Предполагается, что текст из JTextField будет отображаться в кадре клиента. Но это не так. Может ли кто-нибудь показать мне, что я делаю не так?

...