Я играю с веб-сайтами, и кажется, что все браузеры с поддержкой родных веб-камер, которые я тестировал с помощью (Safari, Chrome), блокируют некоторые порты. Если я попытаюсь подключиться к моему серверу через порт 80, то все работает отлично. Если я попробую другие порты, например 81, 82 или 1000, соединение преждевременно закрывается, потому что на другом конце ничего нет. Это ожидаемое поведение и прекрасно работает.
Однако с некоторыми портами (например, 20, 37 или 79) консоль разработчика Chrome просто говорит WebSocket port 79 blocked
, но мой JS-код не получает никакой информации об этом (даже некий тайм-аут). Safari немного более подробный и комментарии SECURITY_ERR: DOM Exception 18: An attempt was made to break through the security policy of the user agent.
Итак, мои вопросы таковы:
Как я могу надежно обнаружить, что порт заблокирован?
Должен ли я устанавливать тайм-аут и проверять его вручную? Это не самый умный способ сделать это, хотя это может быть единственный способ сделать это кросс-браузер.
Где я могу найти список заблокированных портов?
Мой поисковый запрос Google не добавил ничего полезного, к сожалению.
Почему блокируются эти порты в первую очередь?
Спасибо заранее!