所以我不确定这是否可行或是否有更好的方法来执行此任务,但我试图创建一个到服务器端脚本的单一ajax连接,它基本上不断地将函数调用转发到页面听一个命名管道。所以,例如,我可以做类似的事情:
# echo "foo(param1,param2)" > /path/to/pipe/gui
将'foo'函数传递给要执行的页面。 ajax连接基本上是永久性的(通过超时控制?)或偶尔使用'ping'来保持打开。
目前我有一个基本测试,但我不知道如何处理ajax中的每个已接来电。我使用readyState == 3来简单地调用一个alert()与来自命名管道的每个传递的字符串,但它似乎总是返回提交的所有内容。所以,如果我做了:
# echo 'hello' > /path/to/pipe/gui
它会显示一个警告弹出窗口,其中包含“hello”。如果我那么:
# echo 'world' > /path/to/pipe/gui
然后会显示一个警告弹出窗口:
hello
world
同样,我不确定是否有更好的方法来解决这个问题,或者即使已经建立了一些库来处理这样的事情。任何帮助将不胜感激!
更新: 评论说使用websockets和socket.io(我认为使用websockets),但我不想添加一堆服务器。任何解决方案都需要保留标准的Web浏览器和Web服务器。