Я хочу написать веб-приложение для игры в шахматы против движка Crafty. Я не новичок в PHP и javascript, но должен научиться взаимодействовать с серверным процессом: как веб-приложение и/или (jQuery) ajax могут двунаправленно взаимодействовать с (linux) программой, работающей на сервере?
На данный момент я разрабатываю на локальном хосте (Apache). Crafty установлен на моем ПК с Ubuntu. Этот известный шахматный движок не имеет графического интерфейса, он запускается в терминале командой
$ /usr/игры/коварный
и поэтому вы можете играть с ним в шахматы и даже видеть его расчеты:
Я могу заставить Crafty запускаться с помощью PHP, используя функции proc_open() или exec(), и в большинстве найденных мной документов говорится, что выходной поток должен быть файлом. Но я думаю, что мне не нужна такая настройка, потому что тогда веб-страница должен постоянно опрашивать этот файл (например, с помощью ajax), чтобы увидеть, были ли добавлены какие-то новые данные, верно?
Как Crafty может напрямую обращаться к веб-странице, говоря: «Я рассчитал другой вариант» или «Я решил сделать ход» и т. д., а затем отобразить эту информацию на веб-странице и позволить пользователю сделать встречный ход, как в терминале. Разве нельзя использовать какой-то сеанс/поток/слушатель?
Я понятия не имею вообще, может ли кто-нибудь указать мне правильное направление?