Mozi.SSDP基于 .NET 開發(fā)的 SSDP 服務(wù)組件
Mozi.SSDP是一個基于.Net開發(fā)的SSDP服務(wù)組件,目標(biāo)是為.Net應(yīng)用程序提供完善的SSDP服務(wù)功能。項(xiàng)目對UDP Socket進(jìn)行封裝,并遵循UPNP/2.0(UPnP Device Architecture 2.0),實(shí)現(xiàn)了UPNP2.0規(guī)范中的大部分功能。
功能特性
-
發(fā)現(xiàn)-在線
- 在線通知
- 離線通知
- 搜索
- 更新
-
設(shè)備和服務(wù)描述
-
控制
-
事件
項(xiàng)目地址
程序下載
dotnet add package Mozi.SSDP --version 1.2.5
項(xiàng)目依賴
Mozi.HttpEmbedded > 1.2.5
版權(quán)說明
本項(xiàng)目采用MIT開源協(xié)議,引用請注明出處。歡迎復(fù)制,引用和修改。意見建議疑問請聯(lián)系軟件作者,或提交ISSUE。
用例說明
//開啟SSDP服務(wù)
var interfaces = NetworkInterface.GetAllNetworkInterfaces();
foreach (var r in interfaces)
{
if (r.SupportsMulticast && r.NetworkInterfaceType != NetworkInterfaceType.Loopback)
{
foreach (var ip in r.GetIPProperties().UnicastAddresses)
{
if (ip.Address.AddressFamily == System.Net.Sockets.AddressFamily.InterNetwork)
{
SSDPService ssdp = new SSDPService();
ssdp.PackDefaultSearch.ST = new TargetDesc()
{
Domain = ssdp.Domain,
ServiceType=ServiceCategory.Device,
ServiceName="simplehost",
Version=1
};
ssdp.MulticastAddress = "239.255.255.250";
ssdp.BindingAddress = ip.Address;
ssdp.OnNotifyAliveReceived += Ssdp_OnNotifyAliveReceived;
ssdp.OnSearchReceived += Ssdp_OnSearchReceived;
ssdp.OnNotifyByebyeReceived += Ssdp_OnNotifyByebyeReceived;
ssdp.OnNotifyUpdateReceived += Ssdp_OnNotifyUpdateReceived;
ssdp.OnResponseMessageReceived += Ssdp_OnResponseMessageReceived;
ssdp.AllowLoopbackMessage = true;
//初始化并加入多播組
ssdp.Activate();
//開始公告消息
ssdp.StartAdvertise();
}
}
}
}
評論
圖片
表情
