linux 测试通过
<?php
use Workerman\Worker;
require_once __DIR__ . '/vendor/autoload.php';
// 创建 Worker 对象
$worker = new Worker('udp://0.0.0.0:5060');
// 监听 UDP 多播请求
$worker->onMessage = function ($connection, $data) {
// 处理接收到的 UDP 多播数据
echo "接收到多播数据: $data\n";
};
// 在 Worker 启动时将 Socket 加入到多播组
$worker->onWorkerStart = function ($worker) {
$socket = \socket_import_stream($worker->getMainSocket());
// 将 Socket 加入到多播组
$group = '224.0.1.75';
socket_set_option($socket, IPPROTO_IP, MCAST_JOIN_GROUP, array('group' => $group));
};
// 运行 Worker
Worker::runAll();
👍,大佬这个实现是基于什么场景的需求?
物联网设备状态管理 你可以搜索一下 搜索一下七层协议 广播相关的
比如 海康摄像头 会向239.255.255.250:37020发送udp数据 实现 局域网内设备搜索 状态更新