Как и Стефан, я бы посоветовал вам взглянуть на Мина . Это основа для асинхронного сетевого ввода-вывода. Он построен поверх NIO, о котором упоминалось ранее, и IMO скрывает некоторые сложности, связанные с селекторами, каналами и т. Д. Я использовал Mina для нескольких проектов, и это довольно хорошо, но, предупреждаю, я нашла документацию немного слабой И снова, как упомянул Стефан, он не имеет встроенной поддержки слишком большого количества протоколов.