уважаемое сообщество!
У меня вопрос касаемый custom events в java. В моей программе есть слушатель udp сообщений, который реализован следующим образом:
public void run() {
DatagramPacket receivedPacket;
byte[] receivedData = new byte[1024];
try {
DatagramSocket serverSocket = new DatagramSocket(port);
while(true)
{
Arrays.fill(receivedData, (byte)0);
receivedPacket = new DatagramPacket(receivedData, receivedData.length);
serverSocket.receive(receivedPacket);
for (udpMessageCollector mc:udpMessageCollectors
) {
mc.udpMessageReceived(receivedPacket);
}
}
}catch (Exception ex){System.out.println(ex.toString());};
}
Как вы можете заметить этот класс реализует Runnable интерфейс и посредством события передает данные дальше программе. Обработка занимает определенное время, тем более что идет взаимодействие с БД.
Таким образом программа возвращается к слушателю UDP через определенное время. Как я могу быть уверен, что ни один отправленный мне пакет не был отброшен? Представьте себе допустим, что обработка запроса занимает секунду, а в течении этого времени будет получено 10 запросов... Я знаю, что есть буфер, который поможет принять пакеты и передаст их слушателю по возвращению, но я не знаю на сколько он большой и где он настраивается. Лучшим решением было бы освободить этот класс сразу после передачи полученных данных. Возможно ли так сделать? И вообще, как бы вы реализовали такую задачу?
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Создал пустой проект в intelijiIdea "Hello, Word", решил подключиться к серверу через боковую панельку DataBase -> + -> Data Source -> MySQLДанные для подключения ввел...
Приложение выполняет деление в столбик и выводит весь процесс в консольвсе работает, тесты проходит, проблема в том что при запуске теста...