Как работать с websocket если сервер на IIS10?
Добрый день. Начал изучать websoctet. Написал простой код, который возвращает ошибку 200.
Подскажите что я не так понимаю? Вот код js var socket = new WebSocket("ws://localhost/test.php"); //возвращает ошибку 200 Запускаю страницу с адреса http://localhost/index.html Получается он находит файлик php и не знает что с ним делать. В IIS10 websocket установлен. Каких то изменяющихся настроек в Диспетчере служб IIS найдено не было, кроме как enable websocket, где можно поставить включить или выключить. В самом php файлике просто написано: echo 'test'; Подскажите почему так не работает, и где я ошибся? |
Вебсокет(WS) не работает как REST Api,
те при обращении к test.php напрямую, скрипт просто вернет 'test', а надо что бы этот скрипт работал как daemon вот пример для php без iis - http://socketo.me/docs/hello-world, вряд-ли получится завести websocket на php внутри iis ), как варик, это будет asp.net... ну или этот пример, http://socketo.me/docs/hello-world, запустить внутри твоего test.php, но тогда надо будет руками пройти один раз по этому пути, чтобы он завелся, и потом, вероятно, можно подключится через html, но это полный бред... ) итого: для iis это asp.net, и/или если это консольное приложение можно посмотреть WCF, или например для C# я успешно юзаю https://github.com/sta/websocket-sharp ) или использовать nodejs yarn init yarn add ws wss.js const WebSocket = require('ws'); const wss = new WebSocket.Server({ port: 8080 }); wss.on('connection', function connection(ws) { ws.on('message', function incoming(message) { console.log('received: %s', message); }); ws.send('something'); }); запустить: node wss.js wss.html <script> var ws = new WebSocket(`ws://localhost:8080`); ws.onopen = () => { ws.onmessage = (e) => console.log(e) } </script> |
SuperZen,
Спасибо за подробный ответ :thanks: |
Часовой пояс GMT +3, время: 21:55. |