Какова правильная многопоточная архитектура для Android Socket Programming - PullRequest
0 голосов
/ 16 сентября 2018

Я пишу приложение для Android, которое использует класс ServerSocket для создания сервера, который прослушивает определенный порт.В настоящее время у меня есть основной поток, который слушает запрос.Затем он выполняет следующие задачи для нового клиентского запроса

  1. Получить сокет и создать новый поток для обработки связи
  2. Теперь основной поток может обрабатывать больше клиентов, вновь созданный поток получает данные иУспешное закрытие сокета.

В соответствии с приведенным выше сценарием, если клиент хочет отправить несколько элементов данных, каждый раз, когда клиент подключается и отправляет байты, а затем сокет закрывается.Мой вопрос заключается в том, является ли это правильной многопоточной архитектурой для программирования сокетов, чтобы эффективно и оптимально обрабатывать запросы от нескольких клиентов.У меня есть только одна работа для увеличения производительности, которая заключается в использовании постоянного соединения (отправка нескольких элементов данных за один сеанс соединения)

Пожалуйста, внимательно ответьте на следующие вопросы

  1. Нужно ли мнеиспользовать службу вместо основного потока?
  2. Сколько многопоточных приложений Android может безопасно выполняться?
  3. Влияет ли быстрое создание / удаление каждого потока на производительность приложения?
...