如何从客户端到服务器读取多行内容

问题描述

因此,我每次在客户端控制台中键入内容时都尝试发送多行代码。但是,在执行此操作时,它只在服务器中打印一次客户端的输出,我想做的是每次输入一行后每次都在服务器中打印客户端的输出。

客户:

    try {
        
        Scanner scanner = new Scanner(System.in);
        
        DataInputStream inputStream = new DataInputStream(socket.getInputStream());
        DataOutputStream outputStream;
        
        System.out.println("Write something to client:");
        
        while(scanner.hasNext()) {
            
            System.out.println("Write something to client:");
            outputStream = new DataOutputStream(socket.getOutputStream());
            
            
            String message = scanner.nextLine();
            
            outputStream.writeUTF(message);
        }
        
    } catch (IOException e) {
        System.out.println("[ERROR] Unable to get streams from server");
    }
}

ClientThread:

    @Override
public void run() {
    
    try {
        
        DataInputStream inputStream = new DataInputStream(socket.getInputStream());
        DataOutputStream outputStream = new DataOutputStream(socket.getOutputStream());
        
        System.out.println(inputStream.readUTF());
        
    } catch (IOException e) {
        e.printStackTrace();
    }
}

服务器: 公共Server(){

    try {
        serverSocket = new ServerSocket(port);
        System.out.println("[SERVER] Server initialized successfully");
        // consider using!
        Runtime.getRuntime().addShutdownHook(new Thread());

    } catch (IOException e) {
        System.out.println("[ERROR] Unable to launch server on port " + port);
    }

    while (true) {
        Socket socket = null;

        try {
            socket = serverSocket.accept();
        } catch (IOException e) {
            System.out.println("[ERROR] Unable to accept client request");
        }

        System.out.println("[SERVER] New user joined the chat: " + socket);

        groupCounter++;
        ClientThread client = new ClientThread("Client " + groupCounter,socket);

        Thread thread = new Thread(client);
        thread.start();

        groupClients.add(client);

        //System.out.println(groupCounter);

        
        
    }

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)