Java: создание экземпляра класса для каждого нового добавленного элемента массива

#java #loops

#java #циклы

Вопрос:

У меня есть класс с именем Load Balancer, который соединяет входящие клиенты с серверами. Поэтому, когда клиент подключен к балансировщику нагрузки, я добавляю их в список. И для каждых 5 добавленных новых клиентов я хочу создать новый экземпляр сервера. Как мне перевести это предложение в код?

Балансировщик нагрузки

 connsock = loadBalancerSocket.accept();
//add connected client to the list
clients.add(connsock.getRemoteSocketAddress().toString());

//create server instance
SMTPserver server = new SMTPserver();
server.main();

 

Комментарии:

1. Пожалуйста, будьте более точными. Я не могу понять, почему вы поставили loops тег

2. Потому что решение этого вопроса, вероятно, будет реализовано с помощью цикла

Ответ №1:

что-то вроде этого?

 connsock = loadBalancerSocket.accept();
//add connected client to the list
clients.add(connsock.getRemoteSocketAddress().toString());

if(clients.size()%5==0){ 
    SMTPserver server = new SMTPserver();
    server.main();
}
 

Ответ №2:

Создайте еще один список для хранения новых экземпляров SMTPserver после 5 записей клиента. Рассматривая переменную списка как servers .

 int index = 0;
for(int i=1;i<=5;i  ) {
    connsock = loadBalancerSocket.accept(); 
    clients.add(connsock.getRemoteSocketAddress().toString());
    if(i==5) {
        servers.add(new SMTPserver());
        servers.get(index).main();
        i = 1;
        index  = 1;
    }
}