Конфигурация GitHub CI находится здесь, но я отключаю запуск тестов. Локальные тесты работают почти нормально (иногда один из них может дать сбой).
Проект GitHub, где можно найти весь исходный код, находится здесь
В тестовом коде я пытался:
- использовать либо 0.0.0.0, либо 127.0.0.1 в качестве адреса сервера
- чтобы используйте динамический порт в TCPListener, передав 0 конструктору `
Код: Выделить всё
Listener = new TcpListener(IPAddress.Parse(channelCfg.IpAddress), channelCfg.Port)`
Код, воспроизводящий поведение (взять из исходного кода)
Код: Выделить всё
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
}
- Почему я не могу открыть TCP-порт в тестах
- Можно ли сделать то, что я хочу протестировать: запустить один или несколько прослушивателей TCP, подключить от 50 до 50 000 клиентов и выполнить некоторые взаимодействия.
- Что нужно настроить правильно, что я пропущено в моей конфигурации CI или где-то еще.
Подробнее здесь: https://stackoverflow.com/questions/798 ... stener-net
Мобильная версия