Тесты GitHub Actions не позволяют открыть TCP-портC#

Место общения программистов C#
Ответить
Anonymous
 Тесты GitHub Actions не позволяют открыть TCP-порт

Сообщение Anonymous »

Тесты GitHub Actions завершаются неудачно с сообщением «Отказано в разрешении» при попытке открыть TCP-порт в классе TCPListener; журнал CI можно найти здесь.
Конфигурация рабочего процесса находится здесь, но я отключаю запуск тестов. Локальные тесты работают почти нормально (иногда один из них может дать сбой).
Проект GitHub, где можно найти весь исходный код, находится здесь.
В тестовом коде я пытался:
  • использовать либо 0.0.0.0, либо 127.0.0.1 в качестве адреса сервера
  • использовать динамический порт в TCPListener, передав 0 в конструктор следующим образом:

    Код: Выделить всё

    Listener = new TcpListener(IPAddress.Parse(channelCfg.IpAddress), channelCfg.Port)
    
Но в тестах я пытаюсь использовать случайный порт из диапазона 17000 - 25000:

Код: Выделить всё

public async Task TestTCPPortOpen()
{
Random rand = new Random(DateTimeOffset.Now.Millisecond);
int serverPort = rand.Next(17000, 25000);
Listener = new TcpListener(IPAddress.Loopback, serverPort)
// Port binding throws an exception
}
Этот тест должен быть настроен для запуска из действий GitHub.
Мои вопросы:
  • Почему я не могу открыть TCP-порт в тестах, я всегда получаю сообщение «Отказано в разрешении»?
  • Можно ли сделать то, что я хочу протестировать: запустить один или несколько прослушивателей TCP, подключить от 50 до 50 000 клиентов и сделать несколько взаимодействия (циклы отправки и получения)?
  • Что следует настроить правильно и что я пропустил в конфигурации CI или, может быть, где-то еще?


Подробнее здесь: https://stackoverflow.com/questions/798 ... n-tcp-port
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»