问题标签 [dns-sd]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - Windows 上的 Bonjour/DNS-SD
我目前正在开发一个具有 C++(带 Boost)后端的跨平台应用程序(Win/OSX/iOS)。在 iOS 和 OSX 上,我使用 Cocoa Net Service Browser Delegate 功能通过 mDNS 发现嵌入式设备,然后将信息传递到后端以创建与它通信所需的对象。
我想对我的 Windows MFC 前端采取类似的方法,我发现这篇文章似乎完全符合我的要求。但是,使用 Bonjour SDK 似乎有一些非常讨厌的副作用 - 迫使您静态链接到 MFC,在我的情况下,我可以让它正确链接的唯一方法是根本不使用调试 DLL,这并不理想.
所以,Bonjour SDK 对我来说并没有什么好处,因为它对我的项目施加了太多限制。使用 Cocoa,我实际上只使用了很少的功能 - 只是 didFindService 和 netServiceDidResolveAddress 真的。我要做的就是找到给定类型的设备并获取它们的 IP 地址。
任何人都可以提出另一种可以在 Windows 上使用 MFC 前端的方法吗?
java - Bonjour java:查找属于特定网络接口的服务的地址
我正在尝试查找与注册到特定网络接口的已解析 Bonjour 服务匹配的地址。
DNSSD 为我提供hostname
了服务的 和 网络接口索引:ifIndex
. 如果主机有多个网络接口,我必须找出哪个网络接口属于ifIndex
该服务注册到的(假设服务ifIndex
不是 0 或 -1)。
有谁知道如何找出已解决的IP地址hostname
属于已解决的ifIndex
?
非常感谢, 马蒂斯
objective-c - 在objective-c/cocoa中将整数作为* void传递
我正在尝试将 DNSServiceRegister(...) 函数用作 DNS_SD 包的一部分,对于“主机”,它需要一个主机名作为字符串。但是,可以通过 IP 地址注册主机,但 IP 地址必须以二进制表示形式格式化(而不是 192.168.1.23,它将是 0x1701a8c0)。
我假设我可以通过直接传入值 1701a8c0 来欺骗函数,但我尝试过的任何方法似乎都不起作用。strncpy 不返回预期值,只是粘贴它不起作用,创建一个 NSData 然后一个 NSString 不起作用。我可以编写一个循环,一次构建 char 数组 1 个条目,但必须有另一种方法吗?
我也无法对此进行任何变体:
bonjour - mDNS 究竟是如何解析地址的?
一旦通过 DNS-SD 发现服务,该主机的地址究竟如何得到解析,是否需要更多的时间/开销?
此外,如果我使用 JmDNS 或 Bonjour,则serviceFound
和serviceResolved
. 如果我只是对发布某项服务的设备的 IP 地址感兴趣,是否有比通过两者更快/更有效的方式获取serviceFound
地址serviceResolved
?
谢谢
bonjour - 如何在 bonjour mDNSPosix 中使用 API 调用
我已经在 linux 上安装了苹果 mDNSreponder,并且能够通过命令行 $ dns-sd -P Stack Overflow _ftp._tcp 发布服务。. 80 空气 14.99.8.77
现在我想知道如何在我的应用程序中使用它的 API 调用来发布相同的服务。当我编译 bonjour 源代码时,我得到了两个库libdns_sd.so libnss_mdns-0.2.so
谁能建议我如何使用我的 linux c 代码调用 apis ..
bonjour - 如何在 bonjour dns-sd 中添加文本记录
我可以在我的 linux 电脑上使用 bonjour dns-sd 注册服务。
现在我无法通过注册添加文本记录。有人可以告诉我如何添加文本记录。
java - 导入 com.apple.dnssd 无法解析。日食,Win32
我有一个问题:突然(就像那样)我的 Eclipse IDE 丢失了 com.apple.dnssd 库。“昨天”我正在开发一个应用程序,“今天”它给我带来了标题中的错误。有趣的是,我仍然可以导入:
所以唯一的dnssd丢失了。
我已经正确安装了 Bonjour API,我已经从苹果开发者那里安装了 2.0.4 版本并且正在使用它。我在 Bonjour 目录和 jre7 中都有 dns_sd.jar。我试图从 SDK 重新安装 Bonjour。一样的东西。我就是不明白出了什么问题。有任何想法吗?
- - 编辑 - -
当 Eclipse 读取项目中包含的库时,它会从 %jre%\lib、%jre%\lib\ext 中读取所有库,除了这个唯一的文件:dns_sd.jar。当我创建一个新项目时,它还包括所有需要的文件,除了这个......这怎么可能?那有什么问题?前几天还好吗?
android - 如何更改 NsdManager 使用的 android 设备名称?
我正在使用 NsdManager 在本地网络上注册 Web 服务。我的问题是设备名称被称为“android”,所以我可以从我的笔记本电脑上以“android.local”的身份访问手机。我怎样才能改变这个名字?我想要更独特的东西。
iphone - 通过蓝牙连接两个 iOS 设备的用法示例?(客户端/服务器代码)
我不想使用 GameKit。我正在尝试使用低级方法使用 dns_sd.h 和 DNSServiceRegister 等方法来建立和维护连接。但是,我找到了一个名为 HHServices 的包装器......老实说,此时欢迎使用 dns_sd 的低级答案或使用 HHServices 的高级答案。
这是HHServices。这是GCDAsyncSocket。
这是我到目前为止的代码。我能够成功发布 HHService 和 GCDAsyncSocket,并开始在另一台设备上浏览 HHServices,但没有建立连接。有什么帮助吗?:D
服务器端
这是我发布 HHService 的地方:
这是我查看客户端是否连接的地方:
客户端
我开始浏览的地方
用于查找已发布 HHService 的回调:
有人可以阐明我做错了什么吗?
ruby - Ruby DNSSD Bonjour IP 地址发现
背景
我正在尝试使用 Ruby DNSSD 来发现一些设备的 IP 地址。
我的代码将正确发现设备的名称。我尝试使用 NAME.local 访问设备。我试过这个方法:https ://github.com/jmitchener/ruby-dnssd-test/blob/master/main.rb
- 我如何找到他们的 IP 地址?或者
- 使用主机名访问这些设备?
更新
我向自己证明了我的理论,即 Socket 命令没有搜索 /etc/hosts 文件
我手动将我的三个 redeye 设备添加到 /etc/hosts 文件中,并且能够解析 IP 地址。
/etc/hosts
代码
输出
现在的问题是,为什么 Socket 命令没有在 /etc/hosts 文件中搜索 IP 解析
1。AVAHI 和/或 DNSSD 没有缓存地址,因为它们是由 DNSSD.browse 报告的,可能是配置设置
2。我没有正确安装或配置 mDNS 服务器
3. 其他有冲突的东西,例如 DNSMASQ