Мелкий пишет:
А в чём, простите, разница? У виндов нет cmd?
Вот под апач пример настройки: http://habrahabr.ru/blogs/cpp/61532/
На IIS указание cmd обработчиком приводит к ошибке 500. К тому же поднятие консоли при каждом запросе, приведет к падению производительности(по крайне мере так выглядит).
Эту статью читал, но там используется сокеты. А при CGI вывод cout print идет сразу в браузер.
Попробую с сокетами.
JustUserR пишет:в частности использования HadlerFactory для генерации обработчиков реального времени
А вот здесь не совсем понимаю.
Выходит как. При CGI исполнении exe файла, создается процесс в windows.
например приложение web.exe создаст процесс web.exe который виден в диспетчере задач.
Это приложение выполнилось, все cout printf выводы отдало в браузер. И завершилось.
Но если оно выполняется долго, то новый посетитель не сможет получить доступ к этому приложению, пока оно не выполниться. Я проверял, кликаю в браузере по ссылке, но оно возвращает пустую страницу.
Вот здесь 2 выхода, либо как то применять новое название для процесса
web.exe , web1.exe , web3.exe . Как это сделать представления не имею. Это нужно ковырять ядро win.
2 выход это создать свой обработчик exe. Который создает один процесс. И принимает запросы на запуск приложений, но создает для каждого нового обращения свой поток
внутри этого процесса.
Видимо php-cgi.exe это и есть подобный обработчик для php. Для других языков типа perl python он тоже должен быть.
Но вот есть ли такой для c++? Ведь писать собственный это как я понял огромный труд на 3-4 месяца?
|