Java 服务器上从android应用程序接收的数据始终为空

Java 服务器上从android应用程序接收的数据始终为空,java,android,Java,Android,我正在尝试从android仿真器连接到桌面上的应用程序,并发送一行文本。 我的应用程序可以连接到服务器,但每当我尝试读取数据时,它总是空的 在我的桌面上运行的服务器应用程序: ServerSocket ss = new ServerSocket(9001); Socket cs = ss.accept(); if (cs.isConnected()) { System.out.println("Client connected."); } BufferedReader reader =

我正在尝试从android仿真器连接到桌面上的应用程序,并发送一行文本。 我的应用程序可以连接到服务器,但每当我尝试读取数据时,它总是空的

在我的桌面上运行的服务器应用程序:

ServerSocket ss = new ServerSocket(9001);
Socket cs = ss.accept();
if (cs.isConnected()) {
    System.out.println("Client connected.");
}

BufferedReader reader = new BufferedReader(new InputStreamReader(cs.getInputStream()));

String str = reader.readLine();
System.out.println("Data:" + str);
在android app emulator中运行的客户端应用程序:

    InetAddress addr = InetAddress.getByName("10.0.2.2");
    Socket socket = new Socket(addr, 9001);

    if (socket.isConnected()) {
        Log.d("APP", "socket connected");
    }

    PrintWriter pw = new PrintWriter(new OutputStreamWriter(socket.getOutputStream()));
    String str = "this is a sample";
    pw.write(str);
我可以看到,客户端和服务器上套接字的断开连接功能都变为true。 但是服务器上打印的数据总是空的


谢谢

尝试在“pw.write(str)”语句后添加刷新调用:

pw.flush();