Конфигурация рабочего процесса находится здесь, но я отключаю запуск тестов. Локальные тесты работают почти нормально (иногда один из них может дать сбой).
Проект 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 ... n-tcp-port
Мобильная версия