В какой момент лучше переключиться с java.net на java.nio?.net(а не сущность Microsoft) легче понять и более привычно, в то время как nio является масштабируемым и поставляется с некоторыми замечательными функциями.
В частности, мне нужно сделать выбор для этой ситуации: у нас есть один центр управления, управляющий оборудованием на нескольких удаленных сайтах (каждый сайт с одним компьютером, управляющим несколькими аппаратными устройствами (приемопередатчик, TNC и ротатор)). Моя идея заключалась в том, чтобы написать приложение на каждом компьютере, которое выступает в качестве шлюза от центра управления к радиооборудованию, с одним сокетом для каждого устройства. По моему мнению, NIO предназначен для одного сервера, для многих клиентов, но я думаю о нем, о клиенте, о многих серверах.
Я полагаю, что третий вариант - использовать MINA, но я не уверен, что это слишком много бросает на простую проблему.
Каждый удаленный сервер будет иметь до 8 подключений, все от одного и того же клиента (для управления всем оборудованием и отдельными сокетами TX/RX). Однако один клиент захочет подключиться к нескольким серверам одновременно. Вместо того, чтобы размещать каждый сервер на разных портах, можно ли использовать селектор каналов на стороне клиента или лучше пойти на многопоточность io на стороне клиента и настроить серверы по-другому?
Собственно, поскольку удаленные компьютеры работают только для взаимодействия с другим оборудованием, будет ли RMI или IDL/CORBA лучшим решением? Действительно, я просто хочу иметь возможность отправлять команды и получать телеметрию с аппаратного обеспечения, и не нужно составлять какой-либо протокол уровня приложения, чтобы сделать это.