Java套接字写入/读取

Java套接字写入/读取,java,sockets,networking,Java,Sockets,Networking,所以我想从socket中读取,但它没有给我任何东西,我是java网络的新手,所以请帮助我,它没有给我任何错误,但也没有给我任何来自客户端socket的输出。。。以下是源代码: ServerSocket server = new ServerSocket(4444); Socket client = server.accept(); PrintWriter out = new PrintWriter(client.getOutputStream()); BufferedR

所以我想从socket中读取,但它没有给我任何东西,我是java网络的新手,所以请帮助我,它没有给我任何错误,但也没有给我任何来自客户端socket的输出。。。以下是源代码:

ServerSocket server  = new ServerSocket(4444);
    Socket client = server.accept();
    PrintWriter out = new PrintWriter(client.getOutputStream());
    BufferedReader in = new BufferedReader(new InputStreamReader(client.getInputStream()));
    String inputline = in.readLine();
    while(inputline != null)
    {
        System.out.println("recieved "+inputline);
    }
    out.close();
    in.close();
    server.close();
    client.close();

您只需调用readLine()一次。如果在第一次迭代中它不是空的,那么就得到了一个无限循环(因为它将永远是非空的)。一定要更新它。

您只需调用readLine()一次。如果在第一次迭代中它不是空的,那么就得到了一个无限循环(因为它将永远是非空的)。一定要更新它。

我很惊讶OP在使用调试器时没有发现这一点……只需添加inputline=in.readLine();在while循环中打印之后,我很惊讶OP在使用调试器时没有发现这一点……只需添加inputline=in.readLine();在while循环中打印之后,客户端是否真的发送了一行?我甚至不知道是不是真的,:XIs客户端是否真的发送了一行?我甚至不知道是不是真的,:X