我有一个应用程序,通过websocket与我的服务器进行通信。我用的是棘轮,一切都很完美。接下来我要实现的是向其他服务器发出请求,并通过websocket将响应推送到客户端。我的问题是如何作出平行的要求与反应。假设我有5个端点,我想得到并行(线程)响应。例如,我想将每个端点都调用为.2s,并向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');
});但是这个计时器不是这样工作的。甚至有可能用反应来实现这一点吗?
我没有显示websocket代码,因为客户端之间的通信很好。
发布于 2016-05-11 12:08:52
一开始。"React (棘轮)“-在一个线程模式下操作(功能列表)。也就是说,任何会阻碍这个过程的东西-坏主意.Curl请求-将停止工作套接字服务器,直到它收到响应。
对于您的应用程序,我将使用ZMQ。重点是:
如果您需要发送大量并发请求--您将需要线程库--它提供多线程。
我还听说可以提供工作线程+ libevent,但我个人没有这样做。
但是使用架构ZMQ,您可以得到一个分布式架构,以同样的可伸缩性!
https://stackoverflow.com/questions/34822562
复制相似问题