Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Apache сервер. Как запустить exe?

249
25 сентября 2006 года
DissDoc
639 / / 01.10.2004
Вопрос не подходил ни под один раздел. решил запостить тут. Короче тема глупая, но ответа я так и не нашел (((. У меня есть чат, написанный на VC++ 7.1 +MFC и есть сервер C/C++ (консольное приложение). Так вот, как мне этот сервер-то запустить? Я сбросил его в папку cgi apache'а, а дальше что?
Просто я к тому, что сервер находится на бесплатном хостинге (не важно каком, а то сочтете за рекламу).
2
25 сентября 2006 года
squirL
5.6K / / 13.08.2003
http://forum.codenet.ru/showthread.php?t=24995
кроме того - читаем спецификацию CGI
240
25 сентября 2006 года
aks
2.5K / / 14.07.2006
Так а причем тут Web-сервер, которым является Apache и твой чат. Если уже итак есть сервер и клиент.
Apache общается с клиентами (браузерами например) через протокол HTTP. Или твой чат тоже делает запрос к веб серверу (а не твоему серверу написанному на c++) по протоколу HTTP, передает нужные значения. А веб сервер вызывает твой сервер (который получается не совсем сервер) и дает ему эти значения. А потом твой сервер генерит ответ, дает его web-серверу, и тот шлет его тебе обратно по HTTP протоколу? Если нет то никакой Apache тут ни к чему и совершенно не нужен. =)
249
25 сентября 2006 года
DissDoc
639 / / 01.10.2004
squirL, спасибо за инфу, начал изучать.
aks, я честно говоря запутался в твоем тексте, но по ходу идею понял. Ты все равно ссылаешь меня почитать ссылки squirL'a. Что я собственно и делаю ;)

Спасибо за помощь.
240
25 сентября 2006 года
aks
2.5K / / 14.07.2006
Нет, просто смысл вот в чем.
Если есть сетевое клиент-серверное приложение какое-то, подразумевается вот что:
Есть запущенный и работающий сервер. Причем естественно он должен или не зависить от платформы, или его исполняемый файл собран под ту ОС, которая стоит на сервере. (Тоесть .exe имеет смысл делать только если на сервере стоит винда) Сервер (программа) постоянно работает и ждет сетевых подключений. Клиенты (те программы которые выполняются на стороне пользователя) подключаются напрямую к серверу по указанному адрессу и порту (открывают сокет) и напрямую общаются через этот сокет - шлют данные как хотят по своему собственному протоколу.

Теперь если есть HTTP сервер например Apache. Это такой же сервер как и в первом случае. К нему так же подлючаются клиенты (обычно браузеры) по указанному адрессу и порту (обычно этот порт 80, поэтому его не пишут) и начинают общаться по стандартизованному протоколу HTTP, который кстати далеко не идеальный и приспособлен впринципе то как раз для доставки web страниц.
Основной его приципы - например клиент (браузер) посылает HTTP запрос в котором указывает URL который хочет загрузить. Сервер шлет ему HTTP ответ c нужным документом. Если нужен результат выполнения CGI программы (что по сути уже является заплаткой над несовершенным протоколом) то в HTTP запросе указывается эта программа, и данне которые ей надо передать. Сервер запускает программу - она данные обрабатывает, и генерит сообщение (например html страничку) - отдает ее обратно серверу. Сервер же шлет ее клиенту (браузеру). ну это так в двух словах.
Тоесть Apache нужен если все общение построенно через HTTP запросы при посредничестве web-сервера, что само по себу странно и не эффективно - так никто не делает, потому я и усомнился. Если же чат устроен так как я написал сначала, тоесть клиенты и сервер напрямую общаются друг с другом - Apache тут ни каким боком не даже нежен.
256
25 сентября 2006 года
foxweb
1.0K / / 27.07.2005
Не совсем понятно о чём идёт речь - очень сумбурное и невнятное описание. Ставьте задачу, ставьте цель - ответы будут более корректными.

Если написанное вами приложение является CGI-совместимым, то всё правильно - его нужно бросить в cgi-bin и запускать его оттуда. Но в httpd.conf нужно добавить поддержку exe как cgi.

Однако выложить что-либо на хостинге, тем более на бесплатном. Хостинги как правило не Windows. А под виндовс, да ещё в качестве CGI-приложения никак не получится.
240
25 сентября 2006 года
aks
2.5K / / 14.07.2006
[QUOTE=foxweb]А под виндовс, да ещё в качестве CGI-приложения никак не получится.[/QUOTE]
Это еще почему не получится? )

А вобще судя по ответом автора, мне так кажется что там всеже обычный сетевой чат безо всякого web. Просто ассоциация видимо въелась, раз на хостинге размещать - значит апач и Cgi =)
2
25 сентября 2006 года
squirL
5.6K / / 13.08.2003
foxweb
а я то, дурень, думал, что спецификация CGI ни от ОС, ни от языка реализации не зависит...
aks
а почему чат как CGI не эффективен?
и почему вы называете CGI "заплаткой" надо несовершенным протоколом?
240
25 сентября 2006 года
aks
2.5K / / 14.07.2006
Цитата:
а почему чат как CGI не эффективен?


Не совсем так. Просто нет смысла организовывать такой чат, где клиент и сервер (всеже серверная программа была названна сервером) не привязанные к web и при этом исспользуют непонятно для какой цели web-сервер в качестве посредника подстраиваясь на исспользование созданного для других целей совсем протокола HTTP.
Такие клиенты как web-браузеры - они вынужденны подстраиваться под эту модель, так как для web страниц это стандарт и монополия, да и все же он для них более логичен. Для двух простых сетевых приложений логичней открыть просто прямое соединение безо всяких посредников. Ну я к тому, что каждый инструмент для своих целей лучше исспользовать. Представте себе SSH протокол реализованный через HTTPS запросы =)

Цитата:
и почему вы называете CGI "заплаткой" надо несовершенным протоколом?


Ну все же HTTP изначально был создан ведь просто для передачи нужных документов по запросам (в первую очередь html страниц) так? Это потом уже когда появилась нужда в динамике и обратной связи от юзера к серверу добавили поддержку CGI. Потому и заплатка. Протокол не то чтобы не совершенный, просто изначально его рамки были несколько другии. Сейчас же потребности несколько возросли вот и исспользуются всевозможные надстройки и т.п. Ведь дешевле поддерживать, чем если бы создать принципиально новый протокол взамен того, на котором весь веб держится.
Ну а для конкретной задачи в конретной аппликухе всегда проще свой протокол исспользовать чам извращаться с HTTP, если требования у нее другие чем у подкачка документов с сайта.
Собственно тема то была созданна в другом разделе, и автор выразил непонимание моим словам - вот я и попытался чуть развернуто но и просто рассказать суть )

256
25 сентября 2006 года
foxweb
1.0K / / 27.07.2005
[QUOTE=foxweb]Однако выложить что-либо на хостинге, тем более на бесплатном. Хостинги как правило не Windows. А под виндовс, да ещё в качестве CGI-приложения никак не получится.[/QUOTE]

Прошу прощения у всех, кого ввёл в заблуждение! Запутался.
Имелось ввиду то, что несмотря на CGI-стандарт, который конечно же поддерживается одинаково на всех платформах, программа exe написанная по Win32 под ней одно только и будет запускаться. Exe есть exe несмотря на совместимость с CGI и на бесплатном хостинге оно работать не будет.
2
25 сентября 2006 года
squirL
5.6K / / 13.08.2003
aks
по первому вопросу - используя CGI приложение в качестве чата, программист избавляет себя от огромного количества рутины, которую за него выполнит веб сервер.
по второму. это не называется "заплатка". это называется разбиение на уровни :) есть простой протокол передачи гипертекста. достаточный для некоторых задач. если задачи усложняются, мы добавляем следующий уровень. все логично. а создавать новый протокол было бы не рационально. лучше много, но простых, чем одинЮ но раздутый и запутанный
240
25 сентября 2006 года
aks
2.5K / / 14.07.2006
Цитата:
по первому вопросу - используя CGI приложение в качестве чата, программист избавляет себя от огромного количества рутины, которую за него выполнит веб сервер.


Тут бы поспорил. Точно так же можно всринимать как наоборот рутину и адаптацию к HTTP протоколу, вместо простого чтения/записи нужных данных из сокета.

Создавть новый протокол конечно не рационально. Только чтото я сомневаюсь, что CGI создавался как логическое продуманное продолжение и надстройка HTTP. Все же он возник из необходимости сделать что то. А так для удаленного вызова бывют куда более удобные протоколы.
Опять же из-за невозможности поддерживать постоянную сесию начали создавть надстройку позволяющую ее эмулировать и т.п.

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог