Как бороться с веб-сокетами на IIS на порту 80 в целом и при использовании ISAPI - PullRequest
0 голосов
/ 30 мая 2019

Мы используем IIS и ISAPI DLL для доставки нашего веб-приложения. Мы можем видеть запрос на обновление websocket из браузера в нашем приложении ISAPI. Мы могли бы принять запрос и передать соединение потоку, чтобы продолжить разговор. Теперь поток будет «сервером веб-сокетов», поэтому в этом смысле мы можем обрабатывать входящие http (и https на 443), а затем переключаться с http на websocket, верно?

Я предполагаю, что реализация веб-сокетов Microsoft работает только с asp.net?

Некоторые люди говорили мне: «подключите сервер веб-сокетов к другому порту и подключите JavaScript к этому порту». Но тогда сервер веб-сокетов не использует HTTPS (SSL).

Например: var socket = new WebSocket ('ws: //echo.websocket.org');

У меня много книг и примеров, но эта простая проблема ускользает от меня.

1 Ответ

0 голосов
/ 05 июня 2019

Теперь поток будет «сервером веб-сокетов», поэтому в этом смысле мы можем обрабатывать входящие http (и https на 443), а затем переключаться с http на веб-сокет, верно?

Да, если клиентская сторона отправит запрос, содержащий Upgrade: websocket, служба веб-сокетов переключится с http на веб-сокет.

Я предполагаю, что реализация веб-сокетов Microsoft работает только с asp.net?

Если вы имеете в виду библиотеку websocket .net, она будет просто работать с приложением .net, например asp.net, она разработана на основе .net framework.

Например: var socket = new WebSocket ('ws: //echo.websocket.org');

Насколько я знаю, веб-сокет также содержит защищенное соединение, такое как https.

Как показано на рисунке ниже:

enter image description here

Более подробную информацию о разнице между http и websocket вы можете найти в статье ниже:

https://developerinsider.co/difference-between-http-and-http-2-0-websocket/

...