多个过程之间的通信

时间:2018-08-01 15:38:51

标签: swoole

我一直在尝试学习Swoole并发性原则,但是一周后我放弃了。有人可以告诉我如何在子过程之间发送和接收消息吗?

我已经运行了两个过程,就像这样:

$p1 = new swoole_process(function ()
{
    $http_server = startHttp();
    $http_server->start();
});

$p2 = new swoole_process(function ()
{
    $server = startWebSockets();
    $server->start();
});

$p1->start();
$p2->start();

$ p1在其中以$ http = new swoole_http_server(“ 0.0.0.0”,9501)启动https服务器的地方

和$ p2使用$ server = new swoole_websocket_server(“ 0.0.0.0”,9502)启动Websocket服务器;

现在,我需要在$ p1和$ p2之间自由发送/接收消息。因此,例如,如果有人去HTTP / post / something,那么我可以在$ p2进程中向我的websocket服务器发送一条消息。

我尝试了Queues and Channels,但是问题是,一旦进程到达$ server-> start()行,它就不会继续下去并停留在自己的循环周期中吗?我理解正确吗?

另外,使用队列和通道-似乎我需要对sleep()进行时间间隔?没有基于事件的消息传递吗?

在此先感谢您的回答。

0 个答案:

没有答案