Как я могу позволить пользователю взаимодействовать с программой C++, скомпилированной на моем сервере?
Я создаю веб-сайт, где пользователь может писать код c++, который будет скомпилирован на моем сервере. Я использую функцию php exec для компиляции кода, но она не позволяет пользователю взаимодействовать с кодом, то есть принимать пользовательский ввод.
Что я уже пробовал:
Я попытался открыть командную строку в фоновом режиме, а затем запустить исполняемый файл cpp, но все равно не могу принять пользовательский ввод или использовать cin.
Мне нужна помощь в принятии пользовательского ввода.
Я делаю что-то вроде codecademy, но для интерактивного учебника C++.
Richard MacCutchan
Нет, это не так, потому что процесс execed выполняется на сервере, и ожидается, что вход сервера будет поступать от непосредственно подключенных устройств, а не от удаленных станций.
Tashifa
можете ли вы рассказать мне, как онлайн-компиляторы позволяют пользователям взаимодействовать с программой C++, где требуется пользовательский ввод через "cin"?
Richard MacCutchan
Как я уже говорил выше, вы не можете использовать cin для чтения с удаленного клиента. Он должен принимать входные данные через веб-страницу или другой интерфейс, подключенный к сокету.
Tashifa
как насчет чего-то вроде этого http://cpp.sh/
Он принимает пользовательский ввод через cin, я также пытаюсь сделать что-то вроде этого
Richard MacCutchan
Нет, он не принимает пользовательский ввод через cin, это веб-страница и использует Javascript, AJAX и т. д.
Richard Deeming
Это звучит невероятно опасно. Что может помешать пользователю отформатировать ваш диск? Или украсть ваши файлы? Или изменить свой сайт, чтобы обслуживать вредоносные программы?
Tashifa
Да, это тоже не давало мне покоя... Надеюсь, я вернусь к этому позже