与服务器程序定向?
我想编写一个web应用程序来对抗引擎Crafty玩象棋。 我并不陌生于PHP和JavaScript,但必须学习如何与服务器进程交互:Web应用程序和/或(jQuery)ajax如何与运行在服务器上的(linux)程序双向交互?
目前我正在开发(Apache)本地主机。 Crafty安装在我的Ubuntu PC上。 这个着名的国际象棋引擎没有GUI,它通过命令在终端运行
$ / usr / games / crafty
所以你可以对它下棋,甚至看到它的计算:
我可以通过PHP使用函数proc_open()或exec()来运行Crafty,并且我发现大多数文档声明输出流应该是一个文件..但是我想我不想要这样的设置,因为那时网页应该是constanty轮询该文件(例如通过ajax)来查看是否附加了一些新数据,对吗?
Crafty如何直接与网页交谈,说“我已经计算出另一个变体”或“我已决定移动”等,然后在网页上显示此信息,并让用户提供一些反动,就像在终端中一样。 是不是可以使用一些会话/流/监听器?
我根本就没有线索,有人能指出我正确的方向吗?
我建议你使用fifos和&
运算符 - 这是为什么:
所以我会做的是这样的:
mkfifo
准备一对FIFO - 您可以从PHP或shell中执行此操作 /usr/games/crafty <stdin.fifo >stdout.fifo 2>stderr.fifo &
stdin.fifo
stdin.fifo
,然后stream_select()