我正在玩套接字,但似乎有一个问题,缓冲读取器在我进入一个空间后没有读取整个字符串(例如"hi there",它只会打印"hi").以前有人遇到过这个问题吗?

    Server e = new Server();

    e.start();
    ServerSocket serverSocket = new ServerSocket(41021);
    Socket socket = serverSocket.accept();
    System.out.println("Server: (Network.Client) connected");
    InputStreamReader inputStreamReader = new InputStreamReader(socket.getInputStream());


    BufferedReader bufferedReader = new BufferedReader(inputStreamReader);




        System.out.println("Client: " + bufferedReader.readLine());


        serverSocket.close();
        socket.close();



}


@Override

public void run() {


    try {


        Socket socket = new Socket("localhost", 41021);
        while (socket.isConnected()) {
            PrintWriter printWriter = new PrintWriter(socket.getOutputStream());


            printWriter.println(new Scanner(System.in).next());
            printWriter.flush();


        }


        socket.close();


    } catch (IOException e) {

        e.printStackTrace();
    }

}

}

推荐答案

我认为这是因为

Java相关问答推荐

使用ExecutorService时在ThreadFactory中触发自定义newThread函数

SQlite for Android无法使用json_group_array/json_object

springboot start loge change

Java编译器抛出可能未正确初始化的错误?

由于我在Main方法中关闭了 scanner ,但在该方法中创建了一个新的 scanner ,因此出现了错误

为什么Java编译器不区分不同类型的方法?

第三方Jar pom.xml

SpringBoot Kafka自动配置-适用于SASL_PLAYTEXT的SSLBundle 包,带SCRAM-SHA-512

Java构造函数分支

如何在构建Gradle项目时排除com.google.guava依赖项的一个变体

支持MySQL 5.6的最新Hibernate版本

垃圾回收器是否真的删除超出作用域的对象?

将双倍转换为百分比

Spring Validator批注不起作用

使用for循环时出现堆栈溢出错误,但如果使用if块执行相同的操作,则不会产生错误

在应用程序运行时更改LookAndFeel

在线程Java中调用Interrupt()之后调用Join()

如何判断元素计数并在流的中间抛出异常?

元音变音字符:如何在 Java 中将Á<0x9c>转换为Ü?

在对象列表上调用提取后,如何判断没有值为空?