PHP响应并行请求
我有一个通过websocket与服务器通信的应用程序。我用的是棘轮,一切都很完美。接下来我要实现的是向其他服务器发出请求,并通过websocket将响应推送到客户端。我的问题是如何与react并行请求。假设我有5个端点,我希望得到并行响应(线程)。例如,我想每隔.2秒调用每个端点,并向websocket服务器客户端发送响应。例如(这只是演示代码): 但是这个计时器不是这样工作的。甚至有可能用react来实现这一点吗 我没有显示websocket代码,因为客户端之间的通信效果很好 开始。“反应(棘轮)”-在单线程模式下操作(功能libevent)。也就是说,任何会阻碍这一进程的事情——坏主意。。。Curl请求-将停止工作套接字服务器,直到它收到响应 对于您的应用程序-我将使用ZMQ。 关键是:PHP响应并行请求,php,multithreading,websocket,ratchet,Php,Multithreading,Websocket,Ratchet,我有一个通过websocket与服务器通信的应用程序。我用的是棘轮,一切都很完美。接下来我要实现的是向其他服务器发出请求,并通过websocket将响应推送到客户端。我的问题是如何与react并行请求。假设我有5个端点,我希望得到并行响应(线程)。例如,我想每隔.2秒调用每个端点,并向websocket服务器客户端发送响应。例如(这只是演示代码): 但是这个计时器不是这样工作的。甚至有可能用react来实现这一点吗 我没有显示websocket代码,因为客户端之间的通信效果很好 开始。“反应(棘
- 运行辅助进程(例如:ZMQWorker)
- 您的服务器在ZMQWorker上发送curl数据(通过ZMQ)
- ZMQWorker发送Curl请求
- 发送请求后,ZMQWorker向WebSocket发送响应 (通过ZMQ)。您可以通过reactphp/zmq
但是使用架构ZMQ,你可以得到一个分布式架构,达到同样的可扩展性 由于您需要每0.2秒加载一次这些页面,是否可以将这些页面连接到您的websocket,并在这些页面更新时将更新发送给所有需要它的连接?
$server->loop->addPeriodicTimer(.2, function ($timer) {
curl('endpoint1');
});
$server->loop->addPeriodicTimer(.2, function ($timer) {
curl('endpoint2');
});
$server->loop->addPeriodicTimer(.2, function ($timer) {
curl('endpoint3');
});