Google хорошо известен своим смешным количеством C ++, которое они кодировали годами. Поправьте меня, если я ошибаюсь, но большая часть основной поисковой системы Google написана на C ++, не так ли? Как взять программу, написанную на C ++, и связать ее с веб-сайтом?
Примечание. Я не обращаю внимания на то, как Google это делает, а на то, как это можно сделать в целом.
web-development
c++
web-applications
Маниакальная наука
источник
источник
Ответы:
Любое веб-программное обеспечение будет отправлять и получать сообщения только через сокеты, вот и все. Вы можете использовать любой язык для этого, это не относится к языкам.
Однако вам лучше не изобретать колесо для такой работы, поэтому большинство языков, используемых для веб-приложений, имеют свой набор фреймворков, который обеспечивает базовую связь для вас, чтобы позволить вам сконцентрироваться на специфике вашего проекта. Ruby имеет ROR, Python имеет Django и другие, Java как ... и т. Д.
C ++ исторически до недавнего времени не имело подобной инфраструктуры:
Теперь «нелепое количество C ++», созданное Google, необходимо, потому что вам нужны очень высокопроизводительные модули для решения задач, которые решает Google. Удачи в попытках сделать то же самое без какого-либо модуля, написанного на языке, ориентированном на производительность. Я рекомендую прочитать вики CPPCMS на эту тему, чтобы лучше понять. Что касается исторических фактов, Amazon, Google, Facebook (см. Хип-хоп и недавние интервью с Александреску) и некоторые другие действительно большие веб-сервисы имеют ядра в C ++ по очевидным вычислительным причинам, которые важнее, чем время, потраченное на производительность программиста.
CPPCMS и cpp-netlib являются открытым исходным кодом, вы можете изучить их, если хотите знать, как заставить приложение работать как веб-сервис с использованием C ++. Тем не менее, любое приложение, которое может прослушивать порты и отправлять данные в порт, может это сделать, все дело в протоколах (TCP / IP, HTTP и т. Д.) , А не в коде.
источник
Как и любой другой язык ....
Откройте сокет TCP, отправляйте и получайте сообщения http. Разбирай их и делай вещи на основе контента.
Посмотрите на Qt пример на платформе c ++, которая поддерживает некоторые базовые функции http.
Существуют также специальные веб-фреймворки для C ++. Не много и не широко используется, AFAIK. Вероятно потому, что если вы работаете в Интернете через C ++, вы все равно делаете что-то очень специализированное и хотите получить полный контроль над всем.
источник
С точки зрения клиента, если у вас есть программа на C / C ++ и вы хотите использовать ее для общения с Интернетом, вы должны использовать libcurl. Это в значительной степени стандартная (и всеобъемлющая) библиотека для подключения к URL-адресам http для отправки и получения данных. Есть несколько других библиотек - у Microsoft есть несколько, есть несколько открытых.
Теперь это для простых старых URL через http (или SMTP, или FTP, или Gopher, или ... libcurl очень всеобъемлющий!) Если вы пытаетесь использовать веб-сервисы через SOAP, вы можете использовать одну из многих других библиотек, таких как gsoap.
Для серверной части вам нужен веб-сервер или инфраструктура, которая предоставляет ваш код C ++. Опять же, есть много способов сделать это - все самые ранние веб-программы были на C / C ++, написанные как CGI-программы, где веб-сервер вызывал ваше приложение с использованием формы IPC. С тех пор у нас есть Wt, Qt, cppCMS, ffead и все они от Microsoft (ISAPI, ATLServer, а теперь и Касабланка).
Я думаю, что причина, по которой no-onne действительно использует C ++ для своего веб-программирования, заключается в том, что другие языки поставляются с этими библиотеками. В C ++ (как всегда) вы должны найти библиотеку для использования, тогда как PHP просто готов к работе в Интернете.
источник
Клиент-серверная архитектура позволяет этому случиться.
C ++ может быть использован для разработки сервера.
На стороне клиента веб-технологии могут использоваться для связи с сервером.
источник