clue / ssdp-react

基于ReactPHP的异步简单服务发现协议(SSDP)。

dev-master 2024-04-11 09:00 UTC

This package is auto-updated.

Last update: 2024-09-11 09:47:12 UTC


README

CI status installs on Packagist

异步简单服务发现协议(SSDP),基于ReactPHP

SSDP是通用即插即用(UPnP)的一部分,通常用于在家用网络上自动发现网络服务而无需任何手动配置,例如自动发现打印机、多媒体设备和网络路由器。

此库实现了在UPnP设备架构定义(PDF)中定义的SSDP,并使用在IETF草案中定义的HTTP多播UDP(HTTPMU)。作为替代,一些设备使用在RFC 6763中定义的DNS服务发现(DNS-SD)。

目录

注意:此项目处于早期alpha阶段!请随时报告您遇到的问题。

快速入门示例

安装后,您可以使用以下代码在您的网络中搜索所有可用的UPnP设备

<?php

require __DIR__ . '/vendor/autoload.php';

$client = new Clue\React\Ssdp\Client();

$client->search()->then(
    function () {
        echo 'Search completed' . PHP_EOL;
    },
    function(Exception $e) {
        echo 'There was an error searching for devices: ' . $e . PHP_EOL;
    },
    function ($progress) {
        echo 'Found a device: ' . PHP_EOL;
        var_dump($progress);
        echo PHP_EOL;
    }
);

另请参阅示例

安装

建议通过composer安装此库。您是composer的新手?

{
    "require": {
        "clue/ssdp-react": "dev-master"
    }
}

此项目旨在在任何平台上运行,因此不需要任何PHP扩展,并支持从PHP 5.3到当前PHP 8+和HHVM的运行。强烈建议使用此项目支持的最新PHP版本。

测试

要运行测试套件,首先需要克隆此仓库,然后通过Composer安装所有依赖项

composer install

要运行测试套件,请转到项目根目录并运行

vendor/bin/phpunit

许可证

MIT