Хорошо, чтобы объяснить, что у меня есть сервер на Java, который получает данные из программы C++, над которой я не могу контролировать. Таким образом, данные передаются по TCP / IP, и сервер Java просто получает их. Объем входящих данных огромен, и они поступают с очень высокой скоростью, просто представьте, что терминал очень быстро печатает множество строк ... Мне не нужно получать все это, просто как можно больше было бы здорово ..
Теперь мне нужно отправить эти данные на устройство Android и отобразить их. Я понятия не имею, как лучше всего подходить к этому.
В настоящее время я проверяю связь с сервером со своего устройства Android каждые 50 мсек с помощью исполнителя. Затем я использую обработчик для отображения данных. Я уже размещал здесь вопрос с кодом: связанный вопрос.
Очевидно, что приложение для Android должно будет проверить связь во время работы приложения, поэтому я не могу избежать сценария while(true).
Я прочитал около 100000000 способов реализовать параллелизм в Android, и я не знаю, что для этого выбрать.
Threads, с ними было сложно справиться.ExecutorServiceScheduledExecutorService, но им нужно время
продолжительность правильно? Мое приложение может работать 5 часов, 5 минут или 5
годы.Любая помощь была бы замечательной.
На самом деле кажется, что вы хотите писать сервис на Android. В этой службе есть много вариантов, но если вы постоянно ждете данных на мобильном устройстве, то ServerSocket можно оставить открытым для получения данных по мере их поступления, пока вы не закроете его.
вы можете использовать "socket io" или "firebase notification"
@JaySnayder, как я сейчас делаю? ExecutorService? У меня уже есть установка и открытие Socket, а также InputStreamReader для получения всех
@KarmelinaMichael Может ли socket.io получать такой большой объем данных?
Этот вопрос здесь не по теме, потому что ответы основаны на мнениях. @Jure прав, попробуйте там
@MarcEstrada это мнение основано? должен быть 1 правильный ответ ..
Когда заголовок начинается с «Каков наилучший способ», это теперь основано на мнении, поскольку есть много решений одной проблемы, лучшее или худшее, есть ответы, основанные на мнениях.
@MarcEstrada Тогда я обновил заголовок
@TrtTrt проверьте этот ответ
@KarmelinaMichael вы что-то связали?




Может быть, этот вопрос лучше для этого: softwareengineering.stackexchange.com?