【问题标题】:NSNetService Bonjour Mimicking iPhotoNSNetService Bonjour 模仿 iPhoto
【发布时间】:2011-01-04 05:24:32
【问题描述】:

我正在尝试模仿 iPhoto 共享,并且已经使用 iPhoto 服务名称“_dpap._tcp.”发布服务。 iPhoto 看到我的虚假“分享”,但它是灰色的。我正在查看网络流量,以查看 iPhoto 是否正在寻找其他东西来启用它(使其变为非灰色),但似乎没有任何东西让我相信这真的是一个 bonjour 设置——我当我发布我的服务时我不见了。

关于 iPhoto 可能正在寻找/需要启用它的任何想法?您认为这是 bonjour 设置还是 iPhoto 特有的设置?

【问题讨论】:

  • 我正在尝试实现相同的目标并模拟 iPhoto 共享库。看看您是如何取得成果的,以及您是否已经走得更远,现在可以通过您的“虚假分享”显示图像或媒体,这将是非常有趣的。

标签: cocoa macos bonjour iphoto nsnetservice


【解决方案1】:

服务不仅仅是服务名称。 Bonjour 服务具有与之关联的 TXT 记录,这些记录是通常被解释为一系列键/值对的数据块。在查看本地网络上的 _dpap._tcp. 共享时,我注意到以下对:

txtvers=1
Version=65537
iPSh Version=131072
Machine ID=[a 12-digit hex string]
Machine Name=[name of share]
Password=false

我怀疑机器 ID 是 MAC 地址,但我不确定。

【讨论】:

  • 谢谢凯文!因此,当您说 Bonjour 服务关联了 TXT 记录时,我不确定您从哪里获得它们。网络服务 API 中有什么东西可以让你看到这些吗?或者,更重要的是,API 中有什么东西可以让您显示/广播它们吗?
  • 是的。 NSNetService上检索记录的相关方法是-TXTRecordData+dictionaryFromTXTRecordData:。设置它的相关方法是-setTXTRecordData:+dataFromTXTRecordDictionary:
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-02-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多