Java 套接字不接收任何数据

Java 套接字不接收任何数据,java,android,android-studio,network-programming,Java,Android,Android Studio,Network Programming,我在Android Studio中有一台C#服务器和这个Java客户端: @Override public void run() { try { Socket socket = new Socket("192.168.0.107", 7778); BufferedReader inFromServer = new BufferedReader(new InputStreamReader(socket.getInputStr

我在Android Studio中有一台C#服务器和这个Java客户端:

@Override
    public void run() {

        try {
            Socket socket = new Socket("192.168.0.107", 7778);
            BufferedReader inFromServer = new BufferedReader(new InputStreamReader(socket.getInputStream()));

            while (true) {
                currentMessage = inFromServer.readLine();
                System.out.println(currentMessage);

                Thread.sleep(200);
            }
        }
        catch(Exception e) {
            System.out.print("Error: " + e.toString() + "\n");
        }
    }
我已经用Telnet测试了服务器,消息也正常发出,所以我几乎可以肯定,问题出在客户端代码的某个地方。 我还尝试使用DataInputStream而不是BufferedReader,但它给出了相同的结果。我也没有任何例外

我在我的AndroidManifest.xml中拥有以下权限:

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.INTERNET" />


readLine()
阻塞,直到在底层缓冲区中接收到完整的行(以
\r\n
\n
终止)(或到达蒸汽末端)。因此,除非服务器使用换行符终止数据,否则程序不会打印任何内容。除了套接字超时时的异常情况。

readLine()
阻塞,直到在底层缓冲区中接收到一个完整的行(由
\r\n
\n
终止)(或到达蒸汽末端)。因此,除非服务器使用换行符终止数据,否则程序不会打印任何内容。当然,除了套接字超时时的异常情况。

您的android代码没有收到任何消息???“它给了我相同的结果”-结果是什么?服务器是否在消息末尾添加了新行(
\n
)?您的android代码没有收到任何消息???“它给了我相同的结果”-结果是什么?服务器是否在邮件末尾添加了新行(
\n
)?谢谢!现在它工作得很好,从来没有想过。修改服务器发送的内容通常是错误的。您也可以在不等待换行符的情况下从套接字读取。谢谢!现在它工作得很好,从来没有想过。修改服务器发送的内容通常是错误的。您也可以在不等待换行符的情况下读取套接字。