首页 > 解决方案 > 多个读/写服务器客户端

问题描述

我正在尝试对密码和用户名进行简单检查,然后检查表格,但我遇到了问题。

客户端可以读取第一个println('输入用户名'),但永远无法读取第二个('输入密码')。

我怎样才能实现这个客户端可以多次读写?

        //write
        pr.println("Enter user name");
        pr.flush();
        //read
        String userNameRes = bf.readLine();
        //write
        pr.println("Enter password:");
        //read
        String password = bf.readLine();

这在我的客户方面:

//read
        String serverPasswordRes = bf.readLine();
        System.out.println(serverPasswordRes);

        //input write
        String userNameRes = in1.readLine();
        pr.println(userNameRes);
        pr.flush();

        //read
        String PasswordRes = bf.readLine();
        System.out.println(PasswordRes);

        //input write
        String passwordClinetRes = in1.readLine();
        pr.println(passwordClinetRes);
        pr.flush();

标签: java

解决方案


你能把

    pr.println("Enter password:");
    pr.flush(); //add this

冲洗()

冲洗流。如果流已将来自各种 write() 方法的任何字符保存在缓冲区中,请立即将它们写入其预期目的地。然后,如果该目的地是另一个字符或字节流,则刷新它。因此,一次 flush() 调用将刷新 Writers 和 OutputStreams 链中的所有缓冲区。


推荐阅读