Java 获取STX与amp;之间的字符串/字节;输入流中的ETX

Java 获取STX与amp;之间的字符串/字节;输入流中的ETX,java,android-studio,sockets,inputstream,bufferedreader,Java,Android Studio,Sockets,Inputstream,Bufferedreader,我正在使用TCP套接字,但我意识到它将只打印以“\n”结尾的消息。 问题是服务器将发送以ETX结尾的消息(不带“\n”),因此无法打印字符串。 有没有办法在STX和ETX之间获取数据 this.input = new BufferedReader(new InputStreamReader(socket.getInputStream())); rxMsg = input.readLine();

我正在使用TCP套接字,但我意识到它将只打印以“\n”结尾的消息。 问题是服务器将发送以ETX结尾的消息(不带“\n”),因此无法打印字符串。 有没有办法在STX和ETX之间获取数据

this.input = new BufferedReader(new InputStreamReader(socket.getInputStream()));
                    rxMsg = input.readLine();
                 
                    Log.v("InputStream",rxMsg);

虽然我没有测试您的代码,但原因在于您的
readLine
函数调用。 在找到ETX之前,readLine不会完成其工作

相反,请尝试使用而不是
readLine
。这些函数有时会接收任意长度的字节(与发送方发送的字节相同或更短),然后您可能需要再次调用
read
以接收剩余的数据