Возможно, вам потребуется разрешить исполняемому файлу DUnit открыть порт в настройках брандмауэра ... Панель управления> Брандмауэр Windows> Расширенные настройки> Правила для входящих подключений.
Обычно Windows запрашивает у вас первый раз, когда исполняемый файл пытается открыть порт, но я бы все равно проверил, есть ли там правило.
Edit:
Просто добавьте немного больше информации, ошибка «Дескриптор не действителен» выглядит как ошибка winsock, и может быть потому, что ваш код не может открыть порт. Это может быть связано с тем, что он заблокирован на брандмауэре (как я уже говорил выше) или может быть, что у вас есть другая программа, у которой этот порт открыт ... Как, например, IIS? Я бы выбрал порт где-то выше 1024 и настроил бы ваш веб-сервер на его использование (и, очевидно, на ваш клиент).
Редактировать 2:
Мой код для настройки моего TIdHttpServer:
FServer := TIdHttpServer.Create(nil);
FServer.DefaultPort := 7777;
FServer.AutoStartSession := True;
FServer.OnCommandGet := ServerCommandGet;
FServer.OnCreatePostStream := ServerCreatePostStream;
FServer.Active := True;