Мне нужно отправить много данных на I-клиент, подключенный к моему серверу небольшими блоками.Запись на канал в цикле
Итак, у меня есть что-то вроде:
for(;;) {
messageEvent.getChannel().write("Hello World");
}
Проблема заключается в том, что, по какой-то причине, клиент получает грязных данных, как Нетти буфер не ясно, на каждой итерации, так что мы получили что-то вроде «Привет WorldHello».
Если бы я сделать небольшое изменение в моем коде положить нить спать все работает отлично:
for(;;) {
messageEvent.getChannel().write("Hello World");
Thread.sleep(1000);
}
В обеих случаях я ничего не использовать для обозначения конца. – user1146287
В обоих случаях клиент считывает столько вкладов, сколько им нужно или доступно на момент создания элемента, а затем цикл для следующего элемента. Если клиент ждал более секунды, прежде чем читать первый элемент, тогда, когда он прочитает его ввод, он увидит данные как для первого, так и для второго элемента, сидящего на своем входе, и подумает, что это единственный элемент. – MRAB