Я новичок в c ++ и почти ничего не знаю о веб-протоколах или веб-сокетах, так что это может показаться смешным.
Я делаю веб-сайты, которые на 100% Ajax и хочу включить веб-сокеты. Fastcgi ++ — это все, на что я мог надеяться для требований ajax, но у него нет веб-сокетов, и я выбрал websocket ++ вместо libwebsockets, поскольку websocket ++ более или менее прост #include
, поэтому я предположил, что я мог бы включить его в fastcgi ++.
Я думаю, что я понял fastcgi ++, и похоже, что большинство действий происходит в Fastcgipp::Request
затем Fastcgipp::Http::Sessions
для данных сеанса http://www.nongnu.org/fastcgipp/doc/2.1/a00005.html; Тем не менее, я думаю, что я должен сделать то же самое с Websocket ++ server::handler
для обработки веб-сокета https://github.com/zaphoyd/websocketpp/wiki/Creating-Applications-using-WebSocket—, и теперь я потерялся в море.
Введите мою полную неопытность с C ++: я думаю, что я должен использовать виртуальное наследство, но я понятия не имею. Кроме того, если бы я мог даже должным образом «подклассить» оба, как я должен удостовериться, что они не пересекают друг друга?
Пожалуйста, покажите мне основной пример того, как websocket ++ может использовать управление сессиями fastcgi ++.
Соединение WebSocket не может быть обработано рабочим процессом HTTP-запроса / ответа. Чтобы использовать что-то вроде fastcgi ++ как с обычными HTTP-запросами, так и с WebSocket-запросами, необходимо иметь какой-то способ распознавания рукопожатия WebSocket и передачи его другому обработчику вместо обработки его как HTTP. Я не вижу очевидного сквозного режима такого рода в его документации, но я мог что-то упустить.
Если такая функция существует, WebSocket ++ можно использовать в потоковом режиме, где он отключает все свои сетевые элементы и просто обрабатывает потоки байтов, переданные из другой сетевой библиотеки.
Некоторые альтернативы:
Отказ от ответственности: я автор WebSocket ++
Других решений пока нет …