Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 不能';无法从套接字输入流读取_Java_Sockets_Bufferedreader_Printwriter - Fatal编程技术网

Java 不能';无法从套接字输入流读取

Java 不能';无法从套接字输入流读取,java,sockets,bufferedreader,printwriter,Java,Sockets,Bufferedreader,Printwriter,我目前正在使用ServerSocket和Socket以及JFrameUI编程一个聊天系统。但我正在努力从套接字流读取数据 这是我的服务器代码: ServerSocket serverSocket = new ServerSocket(PORT); Socket socket; systemStatus.append(displayStatus("Server starts on port: ") + serverSocket.getLocalPort() + "

我目前正在使用
ServerSocket
Socket
以及
JFrame
UI编程一个聊天系统。但我正在努力从套接字流读取数据

这是我的服务器代码:

    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
的文本。但事实并非如此。有人能告诉我我做错了什么吗?

它是否显示消息:“服务器在端口上启动:”?服务器代码是如何执行的?是的,它确实显示消息try do Socket.getInputStream()。读取服务器中的(字节[]),并查看是否以这种方式打印出任何内容。您可能一直在等待换行符(即使您的客户机似乎正在发送带有换行符的数据),这稍微偏离了主题,但您的服务器永远不会接受超过1个连接,这使得第一个while循环毫无意义。您是否已验证客户端确实连接到服务器?