Протоколы WebSocket и CGI/FastCGI/SCGI

Я ищу ресурсы для взаимодействия между веб-сокером на стороне клиента, веб-сервером и реальным бэкендом приложения, который работает по протоколам CGI, FastCGI или SCGI.

Кажется, что в этот момент это невозможно:

Длина запроса определенно определена в переменной CONTENT_LENGTH, поэтому я не могу ожидать что данные будут продолжать поступать с веб-сервера из stdin, или я могу? поскольку unset CONTENT_LEGTH определяет тело без запроса.

Приложению требуется читать CONTENT_LEGTH байты даты больше, а если читать меньше, значит, он считается отключенным клиентом.

  • Есть ли какие-либо ресурсы для того, как (F | C) CGI обновляется или может использоваться с WebSockets?
  • Есть ли проекты черновиков SCGI/FCGI/CGI для поддержки WebSockets?
  • Существуют ли какие-либо известные веб-серверы, поддерживающие WebSockets?
  • Если да, поддерживают ли они протоколы CGI для них?
  • У вас был опыт работы с WebSockets и * CGI?

Спасибо, вся информация будет уместна.

Артем

Кто-нибудь?

Ответ 1

Здесь вы можете найти модуль mod_websocket для lighttpd здесь. При создании модуля обязательно укажите правильную версию протокола websocket, которую вы хотите использовать (версия -75 или -76). Начиная с ночной сборки WebKit r59903 и Chrome 6.0.414.0 (r47952) поддерживается только версия протокола -76.

Обратите внимание, что с использованием WebSockets вам больше не нужны протоколы CGI, FastCGI или SCGI для подключения веб-сервера к концу приложения. Просто реализуйте прослушиватель TCP в своем приложении (для подключения mod_websocket) и используйте сокет для асинхронного ввода-вывода.