Как я могу найти порт TCP, который свободен с NetTcpBinding (WCF) (таким образом, сервер может связать с ним),

Существует превосходная статья о Витамине Cal Henderson известности Flickr о том, как они оптимизируют предоставление своего CSS и JavaScript: http://www.iamcal.com/serving-javascript-fast/

9
задан Community 23 May 2017 в 12:10
поделиться

3 ответа

Вот что я делаю: начинаю со случайного порта в диапазоне 1025-2000 (диапазон выбирается произвольно). Я пытаюсь привязать его, и если не получается, перехватываю исключение. Затем я перехожу на один порт вверх ( порт = порт% 2000 + 1025 ), пока не завершу. Если порт не привязан, я отказываюсь, не пройдя тест.

2
ответ дан 4 December 2019 в 11:42
поделиться

при использовании случайного порта высокого уровня вы можете генерировать конфликты с другими серверными процессами, которые хотят запускаться после вашей программы. просто используйте ноль в качестве номера порта, и пусть ОС позаботится о резервировании (/ etc / services в unix, не знает, как Windows это обрабатывает).

1
ответ дан 4 December 2019 в 11:42
поделиться

Установите порт на ноль. Это позволит операционной системе выбрать доступный для вас порт. Если вам нужно определить, какой порт использовался, вы можете запросить это из сокета после того, как он был привязан локально.

4
ответ дан 4 December 2019 в 11:42
поделиться
Другие вопросы по тегам:

Похожие вопросы: