попробуйте указать максимальное количество клиентов как
serverSocket = new ServerSocket(3000,10);
Здесь он должен принимать до 10 соединений без каких-либо проблем.
Более того, вы можете проверить свою статистику, используя netstat -a
, что покажет, что порт 3000 все еще прослушивает даже после установления соединения с одним клиентом и назначил порт 3001 (или выше) / 2999 (или меньше) существующему клиенту.