環(huán)境:Workerman version:4.0.27 PHP version:8.1.12
創(chuàng)建了一個websocket服務(wù),開啟了兩個進程
$worker = new Worker("websocket://127.0.0.1:9952");
$worker->count = 2;
手冊中群發(fā)消息是:
$worker->onMessage = function (TcpConnection $connection, $buffer) {
// 這里拿到的是當(dāng)前worker進程中的所有連接信息
$connections = $connection->worker->connections;
$workerId = $connection->worker->id;
foreach ($connections as $connection) {
$connection->send("worker id: " . $workerId . " connection id = " . $connection->id . " buffer: " . $buffer);
}
}
我的疑問是:
如果是多進程,這個地方拿到的只是屬于當(dāng)前worker下的所有鏈接,那別的worker進程中的連接要怎么發(fā)消息呢?(我理解的是,設(shè)置進程數(shù)目是2,代表有兩個進程在監(jiān)聽9952這個端口,我開啟了端口復(fù)用)
多進程模型直接用 gatewayWorker http://wtbis.cn/doc/gateway-worker/
此外你的問題很多人提過,重復(fù)的不想重復(fù)了: