Popular blog tags

Apple Bonjour for .Net

Published

This code essentially listens on port 5353 for broadcasts to the group 224.0.0.251.

public void Start()
{
 try
 {
 UdpClient udpClient = new UdpClient();

udpClient.ExclusiveAddressUse = false;
 IPEndPoint localEndpoint = new IPEndPoint(IPAddress.Any, 5353);

udpClient.Client.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.ReuseAddress, true);
 udpClient.ExclusiveAddressUse = false;

udpClient.Client.Bind(localEndpoint);

IPAddress multicastaddress = IPAddress.Parse("224.0.0.251");
 udpClient.JoinMulticastGroup(multicastaddress);

while (true)
 {
 Byte[] data = udpClient.Receive(ref localEndpoint);
 string dataAsString = Encoding.UTF8.GetString(data);
 Console.WriteLine(dataAsString);
 }
 }
 catch (Exception exp)
 {
 Console.WriteLine(exp.Message);
 }
 }

 

https://tomasmcguinness.com/2018/01/22/apple-bonjour-for-net-core/

 

以Bonjour 为例,Airplay 投屏需要创建两个服务,分别是_raop._tcp.local和_airplay._tcp.local

一个简单的设备注册示例;主要分为两部分

创建一个ServiceInfo 实例
将刚刚创建的ServerInfo进行注册

并进行广播

https://blog.csdn.net/u010927489/article/details/121852900

 

 

A read through a few articles on Bonjour;

https://en.wikipedia.org/wiki/Bonjour_(software)
https://developer.apple.com/library/content/documentation/Cocoa/Conceptual/NetServices/Introduction.html
http://packetpushers.net/multicasting-apples-bonjour-protocol/