2012-06-11 2 views
1

В настоящее время я пишу приложение C++ для Linux-сервера, который в основном обрабатывает запросы (я еще не закодировал часть обработки запросов, так как я не уверен в лучшем методе).Лучший способ для скрипта PHP для связи с приложением?

В основном у меня есть страница PHP, которая при запуске (клиент попадает на страницу) должна связываться с вышеупомянутым приложением.

Теперь я не могу отключить это приложение каждый раз, когда это необходимо, поскольку это довольно сложное приложение, которое должно загружать данные, прежде чем он сможет выполнять какую-либо обработку (поэтому он должен просто оставаться загруженным навсегда как демон).

Как вы предлагаете, чтобы страница PHP запрашивала приложение? Должен ли я просто использовать программирование сокетов с TCP/IP?

Заранее благодарен!

+0

Вы посетили 'http: // stackoverflow.com/ questions/705443/how-to-mix-up-c-and-php'? Это может быть полезно для вас –

ответ

2

Конечно, можно попытаться использовать сырые сокеты, но вам не нужно. Есть продукты, которые помогут вам в том, что вы хотите.

Предлагаю вам взглянуть на Apache Thrift. Вы можете легко определить, какие функции предлагает ваша часть C++, и преобразовать ее в демона, который ждет ваших запросов от PHP. И, конечно, есть библиотека PHP, которую вы можете использовать для выполнения этих запросов.

+0

Интересно, я беспокоюсь, что приложение, которое я создаю, нужно запускать один раз. Он загружает много данных, так что он использует около 8 ГБ оперативной памяти при сидении бездействия. Будет ли это поддерживать мое приложение? – Geesu

+0

Эта проблема полностью независима от средств RPC, которые вы используете. Конечно, вам понадобится 8 ГБ оперативной памяти, но это почти слишком очевидно, чтобы ответить. Он должен работать на 64-битной машине, так что все в порядке. – Carsten

+0

Я не могу понять, насколько это удивительно. Большое спасибо за этот реко !!! – Geesu

2

ZeroMQ - еще один проект, который поможет вам создать слой связи между вашим PHP-кодом и демоном C++.

Есть привязки для C++, PHP и многих других языков.

+0

Я получил downvoted? Я считаю, что это грубо, если не оправдано, особенно потому, что ZeroMQ действительно отличный проект! Прошу прокомментировать мой ответ, я всегда открыт для обсуждения ... – SirDarius

+0

Я видел вашу запись, я много раз использовал ZeroMQ, блестящую библиотеку, если вы знаете, что используете одну и ту же платформу, вы можете даже объекты bytestream вместо сериализуя их через гнезда ZMQ. Слишком плохо, что вы сбиты с других сторон. –

Смежные вопросы