Переполнение буфера в KryoNet при попытке получить граф объектов

Я отправляю объект, который содержит большой трехмерный массив 2X45x45. В каждом слоте есть пользовательский объект, который я также зарегистрировал в Крионете. Кажется, что все в порядке, но пытаясь получить его, я продолжаю получать эту досадную ошибку,

Исключение в потоке «Клиент» com.esotericsoftware.kryonet.KryoNetException: невозможно прочитать объект, размер которого превышает буфер чтения: 12793 в com.esotericsoftware.kryonet.TcpConnection.readObject(TcpConnection.java:118) в com.esotericsoftware.kryonet.Client. update(Client.java:247) на com.esotericsoftware.kryonet.Client.run(Client.java:333) на java.lang.Thread.run(Неизвестный источник)

Я не совсем уверен, почему я его получаю, но я попытался увеличить размер буфера клиента, сделав это в его конструкторе,

client = new Client((20 * 1024), 2 * 1024);

Хотя, похоже, мне это мало что дает. Я пытался устранить эту проблему некоторое время, это своего рода мое последнее средство. Кто-нибудь знает, что происходит и как я могу это решить?

Также вот объект, который я отправляю для справки, на самом деле это не имеет значения, поскольку он, кажется, отправляет нормально:

public class MapDataPacket {

    public String id;
    public String name;
    public Block[][][] map;

    public MapDataPacket() {

    }

}

person Community    schedule 24.12.2018    source источник


Ответы (1)


Это сработало:

client = new Client(1000000, 1000000);
person Community    schedule 25.12.2018