Протоколы WebSocket и CGI / FastCGI / SCGI - PullRequest
10 голосов
/ 11 июля 2010

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

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

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

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

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

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

Артём

Любой

1 Ответ

3 голосов
/ 28 июля 2010

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

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

...