У меня есть Android-приложение с открытым Socket. Я хотел бы написать в этот сокет без какой-либо возможности блокировки потока в записи за заметное количество времени. Если какая-либо ошибка ввода-вывода происходит, я бы хотел, чтобы запись просто молчала. Есть простой способ сделать это?
Да, NIO предоставляет класс SocketChannel
(вызов метода getChannel
на вашем Socket
), который позволяет вызывать configureBlocking
для использования неблокирующего режима. Затем вы должны выполнять все операции ввода-вывода через канал, а не через объект Socket
.
Возможно, вы захотите рассмотреть NIO:
http://developer.android.com/reference/java/nio/channels/package-summary.html