问题标签 [jmdns]

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.

0 投票
1 回答
168 浏览

android - 通过 JmDNS 检测解析信息(txtrecord)的变化

JmDNS 支持服务侦听器,其中包括添加服务的方法serviceAdded(检测新服务)和删除服务的方法serviceRemoved(检测已删除的服务)。

我的问题是:有没有一种方法可以检测现有服务的服务数据修改?

0 投票
1 回答
1355 浏览

java - avahi 无法找到由 JmDNS 创建的服务

我正在从其他运行 windows-xp 的机器创建 JmDNS 服务

如果我运行其他将解析服务的客户端,则由JmDNS它创建,无论机器如何。但如果我尝试通过avahi-browse. 它找不到它。并给出以下输出。

0 投票
1 回答
660 浏览

android - 使用 jmdns 中的子类型发现服务

我已经在我的 linux pc 上使用 mdnsreponder(applebonjour) 注册了我的服务子类型
。我正在尝试在我的 Galaxy 手机上使用 jmdns (这里我有 jmdns.jar 文件)浏览服务。

我使用以下命令注册了服务

当我浏览 jmdns 的服务类型列表中没有子类型时,我得到了正确的响应。IE

但如果我尝试使用以下选项,它无法列出任何内容 -> 响应为空 ServiceInfo[] https = jmdns.list("_wcam._sub._smartplace._tcp.local.");

它与avahi浏览器一起使用..

现在有人可以帮助我如何使用 jmdns 浏览子类型。

0 投票
1 回答
230 浏览

jmdns - 在地址.arpa。响应未触发 ServiceListener 中的回调

我正在尝试设置一些 ServiceListeners,特别是两个:

每当我这样做时,我都会在 serviceResolved() 和 serviceAdded() 上为匹配“_workstation._tcp.local”的所有服务获取 myListener 的回调。但是,我没有收到“100.1.168.192.in-addr.arpa”的回调。...尽管 jmDns 发送了查询,并且响应回来了!我附上了 jmdns 发出的请求数据包的 tcpdump 以及返回的响应。但是,没有调用回调,所以我在我的应用程序中看不到响应。

有谁知道为什么会发生这种情况?

http://users.ece.cmu.edu/~gnychis/jmdns_nocallback.pcap

0 投票
2 回答
3556 浏览

android - JmDNS 在 android 4.1 上无法正常工作

域名解析系统

我在这里实现 JmDNS 如下。在我的 android 2.3.5 htc Evo 上运行代码时,我能够发现我的 linux 计算机。但是,当我在我的三星 Galaxy s3 (4.1.0) 上运行相同的代码时,什么也没有出现。奇怪的是,一周前它还在我的 4.1 上工作,现在不行了。我在这里尝试过其他人的解决方案,但没有运气。如果有人经历过这一点,并且可以阐明为什么姜饼与 jmdns 而不是 jellybean 合作。

澄清:

我的 android 4.1 设备不会解析除从设备创建的服务之外的任何服务。我的 2.3 设备将解析除从 4.1 设备创建的服务之外的服务。可以是ip6到ip4吗?

0 投票
1 回答
1938 浏览

java - jmdns 在 IPv4 接口上注册,但广播 IPv6

所以我试图在 Android 3.2.1 (HTC Flyer) 上使用 jmdns,并且我正在使用 jmdns 进行服务发现。除了我的三台设备中的一台(其余设备正常)正在广播 IPv6 地址而不是 IPv4 之外,一切都运行良好。这很奇怪,因为它们都通过 DHCP 连接到我的家庭网络,所以它们都被分配了 IPv4 地址。

所以在我的设备上我运行

它打印出漂亮的 IPv4 IP,它实际上与我的网络分配的 IP 匹配(成功)。

但是当我运行在其他设备上发现服务的代码时。

当它发现 Flyer 时,它只显示一个 v6 地址。

任何人都可以建议可能发生了什么吗?

我正在使用 Jmdns 3.4.0(3.4.1 根本不起作用!)而且我是一个 zeroconf 新手。

更新:

一些新信息:

任何人都可以帮助解释这些吗?

0 投票
2 回答
6251 浏览

java - JmDNS:无法解析服务

我正在尝试为 Android 应用程序和桌面应用程序之间的通信实现 JmDNS 发现。我遵循了以下教程: http ://home.heeere.com/tech-androidjmdns.html

Android 应用注册一个服务,桌面应用为该服务添加一个监听器。我已经让它在四分之三的设备上运行得很好,但是第四个(运行 Android 3.2 的三星 Galaxy Tab 10.1 PT7500)我无法解决该服务。我的处理程序收到serviceAdded事件,但没有serviceResolved事件。我也尝试过调用jmdns.requestServiceInfoand jmdns.getServiceInfo,但前者什么都不做,后者超时并返回 null。

但是,jmdns-browser 能够很好地解析服务,所以它不是设备。这两台设备上都没有防火墙。该服务始终使用 IPv4 地址。

有谁知道什么可能导致这个问题?

启动服务的代码:

客户端/监听器的代码:

输出:

0 投票
2 回答
2135 浏览

java - 如何使用 JmDNS 解析 Bonjour 域名

作为我正在开发的应用程序的一部分,我需要能够解析与 Bonjour主机名对应的正确 IP 。

例如,给定我jack.local需要将其解析为192.168.1.141与 jack 关联的 IP 地址。

我一直在梳理 JmDNS API,我能找到的最多的是在类型和名称已知的情况下允许解析服务的方法。但是,我根本找不到任何可以解析主机名的东西。

所以我错过了什么吗?真的没有办法使用 JmDNS 解析主机名吗?

0 投票
1 回答
606 浏览

android - 广域网中的安卓网络

所以我正在使用 jmdns 创建服务,我可以从 aadress 192.168.0.101:9999/servicename 的局域网访问它们(注意 192.168.0.101 是我的 android 手机 localIP)。现在,如果我想从广域网访问它们,我必须在我的路由器中进行端口转发,对吗?有没有办法为 192.168.0.101:9999 进行一次转发,以便我可以从广域网 routerPublicIP:9999/servicename 访问我手机上的服务?

0 投票
1 回答
4948 浏览

android - 在airplay中实现android作为服务器(接收器)

我想在 android 中创建 airplay,其中我的 android 设备将用作 airplay 服务器(接收器),而 iPhone 设备将用作接收器。我在我的应用程序中使用了 jmdns,它是 java 中用于 airplay 的开源库。它对音频工作正常。但是当我看到视频和图像时,即使发现了设备,我也有很多挣扎。这是我创建和注册服务的代码:

当我将第一行中的 ._raop 更改为 ._airplay 时,已经为 iPad 中的图像和音频发现了该设备。当我选择播放视频的设备时,它会显示消息“此视频正在播放 android(服务器名称) ”。但是在服务器端,我没有得到任何要处理的数据包。我学习了很多 Jmdns。但我不知道如何使用 jmdns 在空中播放中实现视频和图像。有任何想法吗 ?