Нужно ли SocketServerChannel, если у меня есть 1 сервер и несколько клиентов? - PullRequest
0 голосов
/ 17 марта 2012

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

У меня есть 1 основное занятие и 2 вспомогательных класса: сервер и клиент. Они оба расширяют ASyncTask для многопоточности.

Я планирую использовать Селектор для этой работы. Итак, я планирую использовать SocketServerChannel для класса сервера, имея несколько SocketChannels для моего класса клиента. Эти каналы будут обрабатываться селектором.

Мой вопрос таков: поскольку я использую один сервер и ASyncTask, является ли излишним использование SocketServerChannel и Selector для моего класса Server? Или я все еще должен использовать его для управления несколькими входящими соединениями?

РЕДАКТИРОВАТЬ: Я нашел другой способ сделать это. Это очень неэффективно, но это делает работу. Я просто использую обычные Sockets и ServerSockets, и для всех возможных исходящих соединений я создаю новый Socket, который используется только один раз. Таким образом, мне не нужно следить за всеми моими связями.

1 Ответ

1 голос
/ 17 марта 2012

Java.nio часто сложнее, чем использование java.io, и обязательно более оптимален с точки зрения скорости и нагрузки.

...