2011-11-22 121 views
1

我需要将其中一个热网络收据连接到iPhone/iPad。 打印机不支持AirPrint功能。 现在它已连接到路由器并具有IP地址。 它看起来像当我试图使用Bonjour(侦听服务类型_printer._tcp,_printer._udp,_ldp._tcp/_udp,_ndd._tcp/_udp)在当前域中找到它时,它没有显示出来。iPhone上的LPD网络打印机

如果我在我的Mac上打印机设置并尝试从Defaults(我假设使用Bonjour)中找到那台打印机,它也不在那里。将打印机添加到Mac计算机的唯一方法是手动输入IP(这不是我想要的)。另外,如果我重新共享从Mac手动添加的打印机,那么我可以使用Bonjour在iPhone/iPad上搜索并监听服务“_ipp。 _tcp”。

我试过的另一件事是使用类似“dns-sd -P”热敏打印机“_printer._tcp.local 515 thermal.local 196.168.0.3”使用我已经知道的IP。它看起来也在起作用。

但是,我需要的是能够自动从iPhone/iPad中找到打印机,就像Square应用一样。我不确定是否可以使用Bonjour(我需要搜索哪些服务),或者我需要使用套接字并收听特定的端口。

任何意见,将不胜感激。

回答

0

我最终发送了一个icmp请求到广播地址以从网络获取所有ips,然后使用StarIO IOS Kit检查该地址是否属于打印机。然后我在列表中显示所有打印机供用户选择。

找到广播:NICInfo 用于icmp请求:SimplePing 与TSP100-STARIO IOS光栅打印进行通信。