大约一年前,我们在校园内使用单播DNS-SD设置AirPrint ,结果取得了巨大的成功,所以我们试图让AirPlay工作,以便我们的教师和学生可以在教室投影仪上无线显示内容。
还有一些其他的东西阻止理想的实现(用户名和密码authentication,初学者),但我一直试图build立一个工作演示,尽pipe如此。 获取AirPrint的工作基本上只是在DNS-SD域上广告相同的logging,而不是多播(.local),但对AirPlay做同样的事情似乎并没有削减它。 设备无法将DNS-SD AirPlay服务器识别为可用。
我已经在这里上传了我的DNS-SDconfiguration的屏幕截图(来自AirServer,通常用于多播)。
我意识到这仍然是一个相当新的function和文档缺乏,但任何人都能够通过DNS-SD获得AirPlay的工作? 如果仅仅是通过多播的方式工作的话,我可以接受,但是它的潜力对我们来说是非常有吸引力的,所以我觉得值得问问是否有其他人知道了。
我已经得到这个工作,但方法并不漂亮。 因为airplay的组播地址是子网本地的,所以它不能像标准路由器那样传播。 我最终在一个Linux vm上设置了Avahi ,并在每个必需的子网中提供了接口。 Avahi进而被configuration为服务reflection(enable-reflector = yes)。 这允许守护进程收集各种mDNS请求并将其传播到各个连接的子网中。
我不是特别喜欢这个解决scheme的粉丝,但它可以为十几个VLAN工作,没有太多的戏剧性。 不幸的是,这个故事的寓意是这些协议充其量是有问题的。
苹果公司显然确定苹果电视不与单播DNS-SD一起工作, “他们向内容提供商做出的让步,并且没有任何DNSlogging或search域允许苹果电视从其他networking联系/使用”。 所以,不幸的是,你运气不好。