我一直在尝试学习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()进行时间间隔?没有基于事件的消息传递吗?
在此先感谢您的回答。