我需要将其中一个热网络收据连接到iPhone / iPad。 打印机不支持AirPrint功能。 现在它当前连接到路由器并具有IP地址。 看起来当我尝试使用Bonjour在当前域中找到它时(监听服务类型_printer._tcp,_printer._udp,_ldp._tcp / _udp,_ndd._tcp / _udp)它没有显示出来。
如果我在Mac上进入打印机设置并尝试从Defaults(我假设也使用Bonjour)中找到该打印机,那么它也不存在。我将打印机添加到Mac计算机的唯一方法是手动输入IP(这不是我想要的)。另外,如果我重新分享从Mac手动添加的打印机,那么我可以使用Bonjour在iPhone / iPad上搜索并收听“_ipp”服务。 _tcp“。
我尝试的另一件事是使用我已经知道的IP使用“dns-sd -P”热敏打印机“_printer._tcp。本地515 thermal.local 196.168.0.3”之类的东西。看起来它也在起作用。
但是,我需要的是能够自动从iPhone / iPad上找到打印机,就像Square应用程序一样。我不确定是否可以使用Bonjour(我需要搜索什么服务),或者我需要使用套接字并听取特定端口。
任何建议都将不胜感激。
答案 0 :(得分:0)
我最终向广播地址发送icmp请求以从网络获取所有ips,然后使用StarIO IOS Kit检查该地址是否属于打印机。然后我在列表中显示所有打印机供用户选择。
找一个广播:NICInfo 对于icmp请求:SimplePing 与TSP100 - STARIO IOS光栅打印进行通信。