如何改变NsdManager使用的安卓设备名称?
我正在使用NSDManager在本地网络上注册Web服务.我的问题是设备名称称为" Android",因此我可以从笔记本电脑中访问手机为" Android.local".我该如何更改这个名字?我想要一些更独特的东西. 解决方案 您无法更改此(在非根系设备上). " Android"是设备的主机名," .local"是MDNS添加的后缀(请参阅
0 2024-02-04
编程技术问答社区
NsdManager发现在安卓9上不工作
我现在已经尝试了一个好时机,以使NSDManager Discovery功能在Android 9上工作. 用于测试目的,我使用此简单的代码段,并且在清单中有" Internet"的权限. var nsdManager = context.getSystemService(Context.NSD_SERVICE) as NsdManager nsdManager.discoverServices("_https._tcp", NsdManager.PROTOCOL_DNS_SD, object: NsdManager.DiscoveryListener { override fun onDiscoveryStarted(serviceType: String?) { println("DEBUG: onDiscoveryStarted $serviceType") } override fun onDiscoveryStopped(ser
0 2024-01-31
编程技术问答社区
android解决.local(mDNS)。
我正在寻找一种解决方案来解决使用Android 4.0.4(由于API级别15)的本地主机名(无NSD).在设备上,我没有任何服务,只有主机名. 您能提供一个示例如何解决吗?我集成了JMDN,但不知道如何解决主机名. win-cmd: ping kcmeasurement.local Pinging kcmeasurement.local [10.202.0.29] with 32 bytes of data: Reply from 10.202.0.29: bytes=32 time
4 2024-01-31
编程技术问答社区
如何在Yocto中建立mDNS的一切权利?
有人可以帮助我设置食谱以在yocto和/或 纠正我可能犯的其他错误? 我以前成功地构建了MDN,并在Linaro Embedded中运行 Linux. 这是一篇非常详细的文章,试图在给予足够的方面犯错 信息.正如一位响应者在我最近看到的论坛消息中写道的那样: "欢迎来到Yocto.这是您的一瓶威士忌和advil……" Linaro Linux建筑物:我从Apple获得了此.TAR: https://github.com/balaji-reddy/mdnsresponder . 我为我的MDN的东西制作了一个基本文件夹/mdns/在那里提取.tar, 创建MDNSResponder-878.200.35/文件夹.我做了CD. 它使用命令在Linaro中很容易为我构建:make os =" linux" -c" mdnsposix" 我在/mdns/mdnsr-878.200.35/mdnsposix/build/prod/中获得了8个文件: 40,592 libdns
2 2023-12-25
编程技术问答社区
我需要在Yocto中编辑构建mdns 878.200.35所需的.补丁文件吗?
这个问题来自以下内容: 我在哪里可以获得在Yocto中构建MDN所需的MDNS.Service文件? 查看" MDNS 878.200.35" YOCTO食谱: build.patch 0001-nss_mdns-do-not-include-nss.h-当libc-glibc.patch. 打开这些链接,它们的页面显示为负和git-view更改标记,并在粉红色和绿色以及绿色以及标头和页脚文本中带有三重小节和三重加标记,它们肯定不会像代码一样属于代码. Stackoverflow不会 让我在这里键入我的意思. 要在Bitbake中使用它们,我应该编辑这些东西吗?例如,在 build.patch,看来我应该删除标题线: (stackoverflow不会让我发布这些;首先,它说他们需要格式化 作为代码,然后说这是不良的代码.) 和最后两个页脚线. (同上) 还以" - "开头删除粉红色的线条,然后更换"+"符号 剩余的绿线的开头,每个空间都有空间(
2 2023-12-25
编程技术问答社区
使用dns-sd的服务发现
我有一个在车站模式下配置的设备.设备通过智能手机提供的热点连接到智能手机.设备需要搜索智能手机上发布的服务_abc._tcp. 我正在使用命令dns-sd -B _abc._tcp,但没有输出. 请指导我可能缺少什么. 应用程序发布服务.我使用Android上的Bonjour应用程序对其进行了验证. 也请澄清 可以在车站模式下发现服务. 在搜索服务时,必须提供完整的服务名称.如果不是,我们如何发现智能手机上发布的所有服务 防火墙可以在设备上设置服务发现吗? 我们如何在C ++中实现相同的目标.任何可以帮助发现的库. 谢谢. 解决方案 可以在车站模式下发现服务. 请参阅站模式 在搜索服务时,必须提供完整的 服务名称. 是 如果不是,我们如何发现所有发布的服务 智能手机 服务发现旨在发现您正在寻找的严重性,例如打印机或网页. 您可能使用的一种解决方案是为服务的每个实例找到所有服务和查询.每个实例都有一个名称和IP,
4 2023-12-04
编程技术问答社区
ESP8266 nodemcu解析raspberry'的本地dns
我在通过mqtt上连接Raspberry上的ESP模块有问题.经过大量搜索,我认为我现在已经迷失了. 所以这是问题 我已经设置了我的Raspberry的本地DNS作为Cubex.Local. 一切似乎在此目的都很好... 我可以在本地网络上使用cubex.local来使SSH和FTP访问Raspberry,但是当涉及到ESP试图解决该地址的ESP时,它一直失败. 这是在ESP上运行的代码: function broker_connect() m = mqtt.Client(ID, 120, BRUSER, BRPWD) m:on("message", on_message_received) m:on("connect", on_connect) m:on("offline", on_mqqt_offline) tmr.alarm(0, 1000, 1,function() print("Connecting to MQTT broker
50 2023-07-25
编程技术问答社区
如何在C#中获得完整的主机名?
我已经尝试了一下,只给我一个名字.我想要全名. 前任.我的系统全名是" sys101.home.homeconsultancy.lan ".以下代码只给了我" sys101 ".我想要完整的地址" sys101.home.homeconsultancy.lan ". 这是我的代码: string hostName = System.Net.Dns.GetHostName(); 如何获得完整的系统名称? 解决方案 您可以使用 .gethostentry : var fullName = System.Net.Dns.GetHostEntry(string.Empty).HostName; 如果将一个空字符串传递为hostNameOrAddress参数,则此方法返回本地主机的IPv4和IPv6地址.
32 2023-02-17
编程技术问答社区
安卓NSD(网络服务发现)与iOS中的Bonjour服务兼容吗?
我将为iOS和Android创建一个无服务器的本地网络应用程序. iOS和Android设备中的应用程序都应发现并互相交谈. 我知道有平台内置服务(自v4.1以来,iOS和NSD中的NSD是Bonjour),此外,可以从该 jmdns 软件包中使用开源 jmdns 包装.盒子. 我不知道如何选择以及它们的兼容性. 我的问题是: Android NSD(网络服务发现)与iOS中的Bonjour兼容吗? 我应该在我的应用程序中使用什么进行服务发现. 如果我还为应用程序开发PC版本,我需要使用第三方LIB吗? 解决方案 我开发了类似的项目.让我回答您的问题: 是的. 官方示例代码应该能够快速启动.实现服务发现的功能非常容易.只有两个步骤:设置带有相关回调的发现侦听器,并对DiscoverServices()进行单个异步API调用. 如果您使用第三方库,优势:它可以使您的应用程序在Android 4.1; 劣势下方工作:开发服务发现的功能将更加复杂.因为
178 2022-12-03
编程技术问答社区
Android-jmdns不能发现设备
我正在尝试实现一个类来发现网络上的服务. 我尝试使用 artroid的nsd ,它确实发现了服务精细,但它仅支持API级别16和UP,并且似乎无法在服务信息中检索TXTRecord字段(由于某种原因返回NULL).拒绝它是一个已知的问题... 所以现在我正在尝试使用 jmdns ,似乎没有找到服务全部. 这是我的课程(我正在使用Androidannotations框架)mdnshelper: @EBean public class MDnsHelper implements ServiceListener { public static final String SERVICE_TYPE = "_http._tcp.local"; Activity activity; private JmDNS jmdns; private MulticastLock multicastLock; WifiManager wm; InetAddress bindingAddress; boo
84 2022-10-21
编程技术问答社区
Chrome Sockets API在Chrome OS上的表现不同(与Ubuntu、Windows相比)?
我有一个示例镀铬包装应用程序,该应用使用Chrome Sockets API执行DNS服务发现.繁重的举重是从这里借来的: App-Samples/Tree/Master/Mdns-Browser 我只使用_pdl-datastream._tcp.local之类的服务名称(而不是_services._dns-sd._udp.local的默认值). 在我的Ubuntu和Windows设置(Chrome 25.0.1364.172)上,该应用程序可以成功找到我的网络打印机;我可以列出其IP地址和服务实例名称.但是,它在我的三星Chromebook上的Chrome OS(Chrome 25.0.1364.173)中失败;找不到任何东西. 知道问题可能是什么?这是一个已知问题吗? 解决方案 您应该检查是否是默认防火墙.在默认情况下,我相信所有传入的连接都被阻止.如果您在开发模式下运行,则可以执行以下操作以允许所有传入的UDP流量来测试这是否是问题: 按Ctr
20 2022-10-18
编程技术问答社区
ESP32(DOIT DevKit)是如何通过mDNS找到同一局域网内的另一台主机的?
我有一个覆盆子Pi连接到我的WiFi LAN,对MDNS响应为mqtt-broker.local. 我可以使用此命令在笔记本电脑上找到它: $ avahi-resolve-host-name -4 mqtt-broker.local mqtt-broker.local 192.168.XXX.YYY 我有一个ESP32 DOIT DEVKIT设备,如果我使用IP地址192.168.XXX.YYY,可以通过WiFi将消息发送到Raspberry Pi,但是我希望我的ESP32使用MDNS解决主机. 我无法使MDN工作,底部打印的代码: Finding the mDNS details... No services found... Done finding the mDNS details... 此代码有什么问题? 我应该在MDNS.queryService("mqtt-broker", "tcp")中将service放置什么?我已经尝试了服务mqtt
114 2022-09-12
编程技术问答社区
我如何查询.local bonjour的DNS条目?
通过dig直接询问您的名称服务器,询问DNS-SD条目的胆量非常简单.但是对于多播DNS,我不确定在哪里看. 编辑:我的动机是能够看到示例DNS条目,以便我可以更好地配置我的OS X机器的静态Bonjour条目. 解决方案 主要实用程序是dns-sd,例如: % dns-sd -B _afpovertcp._tcp Browsing for _afpovertcp._tcp Timestamp A/R Flags if Domain Service Type Instance Name 20:02:23.350 Add 2 4 local. _afpovertcp._tcp. myhost 其他解决方案 aha,秘密是多播地址/端口. 例如,查询可用的AFP服务器: dig @224.0.0.251 -p 5353 -t ptr _afpovertc
88 2022-08-28
编程技术问答社区
Windows上的标准mDNS服务
Windows(一些现代风格)是否默认安装和/或运行 mDNS 服务器?如果是这样,那么如何告诉它(最好是动态地)开始/停止广告一项新服务? 如果没有标准,那么如何处理尝试在该环境中运行多个 mDNS 服务器的冲突问题? 基本上,我想实现一个可以在 Linux、Windows 和 Mac OS X 上运行的服务,并且需要使用 mDNS 通告其 zeroconf 网络服务器位置.在 Linux 上,我只使用 avahi-publish(或安装配置文件).我猜答案对于 OS X 来说很简单.我正在努力寻找适用于 Windows 的信息. 解决方案 不,Microsoft 不直接支持 Multicast-DNS. 但是,似乎有几个第 3 方替代方案: http://bens.me.uk/2013/multicast-dns-and-development-virtual-machines http://en.wikipedia.org/wiki/Bonjo
1286 2022-08-11
编程技术问答社区
如何使用mDNS将所有子域路由到一个主机上?
我有一个作为“myhost.local"托管的开发网络服务器,它是使用 Bonjour/mDNS 找到的.服务器正在运行 avahi-daemon. 网络服务器还想处理它自己的任何子域.例如“cat.myhost.local"和“dog.myhost.local"和“guppy.myhost.local". 鉴于 myhost.local 位于来自 dhcp 的动态 IP 地址上,是否还有办法将子域的所有请求路由到 myhost.local? 我开始认为目前不可能...... http://marc.info/?l=freedesktop-avahi&m=119561596630960&w=2 您可以使用/etc/avahi/hosts 文件执行此操作.或者,您可以 使用 avahi-publish-host-name. 不,他不能.既然他想定义一个别名,而不是一个新的主机名.IE.他只想注册一个A RR,没有反向PTR RR.但如果你在/etc/a
196 2022-08-11
编程技术问答社区