Java 消息没有完全发出

Java 消息没有完全发出,java,Java,我需要得到一个完整的消息,例如你好。但是有了这个代码,我只得到了Hello public class Messages{ private static final int MTYPE = 0; private static final int FLAGS = 1; private static final int SEQUENCE = 2; private static final int CHAR1 = 3; private static final i

我需要得到一个完整的消息,例如
你好
。但是有了这个代码,我只得到了
Hello

public class Messages{
    private static final int MTYPE = 0;
    private static final int FLAGS = 1;
    private static final int SEQUENCE = 2;
    private static final int CHAR1 = 3;
    private static final int CHAR2 = 4;
    private static final int CHAR3 = 5;
    private static final int CHAR4 = 6;
    private static final int CHAR5 = 7;

    private int type = 0;
    private boolean ack = false;
    private boolean isLastTelegram = false;
    private boolean isUTF8 = false;
    private int sequence = 0;
    private String messagePart = "";

    public InMsgTelegramm(byte[] msg) {

        type = msg[MTYPE] & 0xFF;

        sequence = msg[SEQUENCE] & 0xFF;

        int ackbyte = (int) ((msg[FLAGS] >> 7) & 1);

        ack = ackbyte != 0;

        int isLastTelegrambyte = (int) ((msg[FLAGS] >> 6) & 1);

        isLastTelegram = isLastTelegrambyte != 0;

        int isUTF8byte = (int) ((msg[FLAGS] >> 5) & 1);

        isUTF8 = isUTF8byte != 0;

        messagePart += (char) msg[CHAR1];
        messagePart += (char) msg[CHAR2];
        messagePart += (char) msg[CHAR3];
        messagePart += (char) msg[CHAR4];
        messagePart += (char) msg[CHAR5];
    }
它是包含5个字符的
messagePart
,比如说
Hello
。这不是一个循环
msg
是一个字节数组,它接受字符串
Hello你好
,但最后我得到的输出是
Hello


对于消息,除序列之外的其余参数保持不变。如何获得完整的信息?

在最后5行中,您只能读取5个字符。除了“Hello”的5个字符之外,您还希望看到什么?您从
msg
中只获得5个字符,如果您只获得5个字符,您希望如何获得完整的消息?你需要在那里创建一个循环。@realponsign-这就是我要找的。我不知道如何循环这个好吧,你怎么知道消息的结尾?这取决于您的协议。你们有长度字段吗?消息结束标记?或者你确定数组长度会根据消息的长度而改变吗?我可以得到消息的长度并迭代我的for循环,直到长度正确为止?在最后5行中,你只读取5个字符。除了“Hello”的5个字符之外,您还希望看到什么?您从
msg
中只获得5个字符,如果您只获得5个字符,您希望如何获得完整的消息?你需要在那里创建一个循环。@realponsign-这就是我要找的。我不知道如何循环这个好吧,你怎么知道消息的结尾?这取决于您的协议。你们有长度字段吗?消息结束标记?或者你确定数组长度会根据消息的长度而改变吗?我可以得到消息的长度并迭代for循环,直到长度正确为止?