推荐的方法让PHP与同一服务器上的过程进行通信
Recommended way to let PHP communicate with a process on the same server
我在C (名为" Talkto")中写了一个通信软件。现在,我想通过PHP中的网站访问此程序。问题是,网络码必须与程序进行交互。因此,启动程序并在程序停止之后查看结果。例如您可以使用参数开始我的过程:
talkto.exe enum receiver
该程序将广播UDP软件包并等待答案。不幸的是,这将阻止PHP脚本直到程序退出。另外,Talkto将向接收器建立一种会话,这仅在运行期间有效。一旦枚举的一部分,接收者就可以改变自己的状态并宣布其说话。我对PHP知之甚少。我需要的是一种网站,显示了接收器并进行更新,如果状态更改。我完全控制了Talkto,因此可以使用STDIO,插座或管道。Web服务器是Apache。该程序将/必须在同一台计算机上运行。安全是一个问题。
您是否考虑过使用消息队列(我认为MQ-Suffix会做任何事情,ActiveMQ,RabbitMQ,Zeromq),您的两个不同的过程可以通过MQ
传递的消息进行通信链接2个过程的另一个选项是使用redis(pub/sub)
关于以后的问题,PHP的性质是阻止代码。有一种简单的方法可以解决此问题,即将外部队列用于PHP(我正在使用此https://github.com/chrisboulton/php-resque)
基本上,您的PHP脚本将将某些任务推入队列,然后最终将执行任务,这将阻止代码由于长期执行而被阻止
相关文章:
- 递归函数计算序列中的平方和(并输出过程)
- "unknown ca"自生成的 CA、证书和客户端/服务器
- 当我编译webrtc服务器时,Windows上只支持clang-cl
- 是否删除在对象构造过程中创建的对象
- 如何通过套接字将文本文件的内容从服务器发送到客户端
- 有没有办法知道Tracer是否成功地完全连接到了jaegerclientcpp中的jaeger后端服务器
- 从服务器传输到客户端的消息不会出现
- QTcpSocket在不阻塞GUI的情况下重新连接到服务器
- OpenSSL TLS服务器-使用客户端证书白名单
- 我正在开发服务器,ip作为参数传递不起作用
- 如何在鼠标挂钩过程中检测拖动
- 我可以与 python 服务器而不是 c++ 客户端建立 tcp/ip 套接字吗?
- 此测试()中发生了什么意外过程?为什么总是覆盖 ch[0 1 2..]?
- 提升 Asio TCP 服务器 处理多个客户端
- 是否可以使用InProceChannel使用Java客户端在同一过程中调用C 服务器
- C 中的远程过程调用(RPC):在硬编码端点时,可以多个客户端侦听一台服务器
- 推荐的方法让PHP与同一服务器上的过程进行通信
- 耗尽流程com服务器 - 每个呼叫过程一个服务器进程
- MSSQL服务器存储过程在从c++调用时不返回输出参数
- 为什么SQL服务器将值传递给存储过程中的OUTPUT变量?