Как запустить серверные клиентские файлы cpp из php на веб-странице

0

У меня есть программа сокетов на базе сервера, написанная в c++. Я создаю файл php-оболочки для его запуска, и он отлично работает на терминале.

<?php exec("code/./server", $output); exec("clients/./O 10.193.2.163", $output); exec("clients/./X 10.193.2.163", $output) ;?>

Выше представлена простая php-обертка для запуска сервера, а затем выполняется как исполняемые файлы клиентов, предоставляющие IP (IP-адрес в настоящее время является локальным хостом).

Но когда я запускаю то же самое с веб-страницы, страница продолжает загружаться и не продолжается. Что мне здесь не хватает? Заранее спасибо.

  • 0
    Может быть, что-то не так с разрешениями ...
  • 0
    @alu: я проверил разрешения. Они в порядке
Теги:
sockets
web-development-server

1 ответ

0

Правильно ли вы пытаетесь запустить клиент c++ и соответствующий сервер в одном файле php? Сначала попробуйте запустить клиент c++, а затем запустить клиентскую программу.

Но я думаю, что вы действительно пытаетесь подключиться со стороны php к серверу. PHP имеет сокет api, поэтому вам, вероятно, не нужно запускать через exec клиент.

  • 0
    Да, я запускаю сервер c ++ и 2 клиента c ++ в одном файле php через exec. Структура кода - это то, что я не могу использовать здесь как php сокет apis. Я проверил это сейчас, и код php не возвращается из команды exec для сервера, т.е. exec ("code /./ server &", $ output); , Таким образом, мои клиенты никогда не увольняются. (Я положил и думаю, что он будет работать в фоновом режиме, но не поможет.) Есть какие-нибудь идеи сейчас?
  • 0
    Когда вы попытаетесь запустить часть c ++ из файла php - у вас будет плохое время. Если файл php выполняется во время обслуживания веб-страницы, он будет остановлен через 60 секунд или около того. запустить сервер, написанный на c ++, в терминале или в качестве службы и удалить exec («код / ./ сервер», $ output); из файла php.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню