Неблокирующее соединение в Java - PullRequest
1 голос
/ 08 января 2012

Каков наилучший способ выполнить неблокирующее TCP-соединение в Java? Я хочу иметь возможность использовать сокет с обычными потоками (иногда SSL). Я также должен нацелиться на Android 2.1, поэтому я не могу позволить себе новейшие и лучшие.

1 Ответ

2 голосов
/ 08 января 2012

Вы можете использовать SocketChannel и configureBlocking(false). Если у вас более одного неблокирующего канала ввода-вывода и вы собираетесь использовать их все из одного потока, вы, вероятно, найдете Selector очень полезным.

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

...