Поддерживаю pi314
Так-то у вас уже на сколько вижу написан и клиент и сервер.
List - сделайте Map и получайте соединение по Id
вместо
Iterator<Connection> iter = connections.iterator();
while(iter.hasNext()) {
((Connection) iter.next()).out.println(name + ": " + str);
}