问题标签 [service-discovery]
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.
android - 在 Android 中使用网络服务发现的内部错误
在使用开发人员页面上的示例和教程首次实现 NSDManager 期间,应用程序成功启动了发现并找到了设备。
不过现在好像坏了...
程序启动时,经过一些初始化后,代码进入如下方法并成功运行:
收到日志消息。过了一会儿(比如大约 5 分钟),程序会输出:
同样来自服务:
NSDManager 类中将错误代码“0”描述为内部错误。我所做的主要更新是访问名为 NsdCamera 的帮助程序类中的上下文。这里有一些可能是邪恶的代码片段:
辅助类构造函数:
辅助类 NSD 初始化:
CameraChooseActivity -> onCreate正在调用辅助类
c# - 如何在 ASP.NET 中同步调用 DiscoveryClient.Find
我正在尝试从 ASP.NET 页面使用 DiscoveryClient 发现服务
调用失败并出现异常:
System.InvalidOperationException:此上下文中不允许异步操作
堆栈跟踪:
在 System.Web.AspNetSynchronizationContext.OperationStarted() 在 System.ServiceModel.Discovery.DiscoveryClient.InitializeAsyncOperation(AsyncOperationContext context) 在 System.ServiceModel.Discovery.DiscoveryClient.FindAsyncOperation(FindCriteria 标准,对象 userState) 在 System.ServiceModel.Discovery.DiscoveryClient。 System.ServiceModel.Discovery.DiscoveryClient.Find(FindCriteria 标准)处的 FindAsync(FindCriteria 标准,对象 userState)
我尝试使用<%Page ... Async="true" %>
没有任何改变。
如何在 ASP.NET 页面中正确调用 DiscoveryClient.Find?
android - Android 网络打印机发现:NullPointerException
这个问题听起来确实很奇怪,但我以前从未经历过。我正在开发网络打印机应用程序并使用 NsdManager 来发现 WiFi 网络中的打印机。过去两周它一直运行良好,在同一个 WiFi 网络中发现和解析打印机。但是突然之间,每次我开始发现时,我都会遇到以下异常:
我正在 Nexus S 上测试应用程序。我连接了三星 S3,但那里没有出现此错误。我已经搜索过这个问题,但找不到任何解决方法。我得到的最接近的是https://code.google.com/p/android/issues/detail?id=39583
有人可以为此提出解决方案吗?我试图将“_ipp._tcp”更改为“_ipp._udp”,但它无法让我在网络中找到任何打印机。
android - 如何使用 Android 发现正在运行的 WCF 数据服务?
我的 Android 应用程序使用odata4j连接到托管在 Windows 服务中的 WCF 数据服务。当提供可以找到服务的指定 URL 时,通信工作良好。
但是,我需要修改应用程序以发现服务地址(多台计算机可以在局域网中运行该服务)。
我怎样才能发现这些服务地址?显然,除了尝试使用带有 try catch 块的 for 循环连接到 LAN 上的每个地址。这有什么安卓功能吗?
apache-zookeeper - zookeeper 初始发现
我想使用Apache Zookeeper(或Curator)作为复制命名服务。假设我运行 3 个 Zookeeper 服务器,并且我有十几台具有不同应用程序的计算机可以连接到这些服务器。
我应该如何将 zookeeper IP 地址传达给客户端?应该手动分发到每台机器的配置文件?
Corba 命名服务有一个 UDP 广播发现选项,在这种情况下不需要配置文件。Zookeeper中是否有类似的可能性?
android - 使用 android 智能手机和其他设备进行服务发现
在我的环境中,我有一部 Android 智能手机和一些其他设备。其他设备正在运行linux。所有设备都通过 Wifi 连接到本地网络。现在我想让智能手机识别和发现网络中的其他设备,所以我需要实现某种服务发现。在其他设备上应该不需要用户交互。之后,两个设备应该能够相互配对。
我读过 Android 支持Network Service Discovery (NSD)。这是一件好事,但这似乎只适用于 Android 设备,对吧?就我而言,其他设备是运行嵌入式 linux 的自定义硬件。编程语言也不相同。其他设备上的应用程序是使用 C++ 实现的。
我还阅读了有关简单服务发现协议 (SSDP)的信息。我想这应该以独立于平台的方式工作,对吧?您能否简单解释一下如何使用 SSDP 实现这一点?
你会推荐 SSDP 来实现服务发现吗?有没有适用于 android 和 c++ 的有用库?
或者你能建议其他方法来实现我想要做的事情吗?
问候
android - 网络服务发现 Android
我正在构建一个使用网络服务发现的应用程序。我已经跟进了这篇文章http://developer.android.com/training/connect-devices-wireless/nsd-wifi-direct.html并且该应用程序正在运行,但是根据下面显示的代码,我有几个问题。
WifiP2pDnsSdServiceInfo.newInstance("_test", "_presence._tcp", 记录);
似乎记录无法保存太多数据。例如,如果记录大小为 20,则不发送信息。你能告诉我尺寸限制吗?我可以发送多少数据?
我不清楚可用的服务类型,如 _ presence._tcp。它是特定于供应商的吗?很高兴知道支持的服务类型列表。服务类型是否规定了我可以发送的信息量?如果是这样,哪些服务类型更适合发送大小合适的地图。
更新:我在http://files.dns-sd.org/draft-cheshire-dnsext-dns-sd.txt检查了这个草稿,请参阅第6.2 节 DNS-SD TXT 记录大小。看起来大小限制很小,如所述“典型 DNS-SD TXT 记录的总大小旨在很小 - 200 字节或更少。如果有更多数据是合理的(例如 LPR 打印 [BJP]),将总大小保持在 400 字节以下应该允许它适合单个 512 字节的 DNS 消息“。有什么想法吗?
architecture - 从容器 (docker) 中发布您的应用程序
周末我在docker 的 IRC上问了这个问题,但在我想通答案之前不得不离开:
如果我有许多在容器中运行的应用程序(让我们暂时假设它们都在相同的物理硬件上运行,但不一定是这种情况)并且我希望它们中的每一个都能够找到每个其他自动。
使用某种注册表(例如etcd或 DNS-SD/Bonjour),您可以宣布您的服务和任何相关细节,并让其他应用程序了解它们并相应地路由流量。
这里的问题是,虽然应用程序可以知道它在容器中服务于哪个主机名/端口,但这不一定是它可以访问的端口或地址。有两个信息需要连接:
- 可以访问服务的位置;从容器外部访问
- 服务做什么(版本号、服务类型);可从容器内部访问
您如何建议我通过容器屏障获取此信息?
- 我可以通过 TCP 向容器公开 docker,因此应用程序可以查询它的显示位置,但这似乎违反了关注点分离。
- 我可以在我的容器中打开一个文件/端口,在容器启动后主机系统会查询该文件/端口以准备发布,但这感觉有点像我要重新发明 WSDL。
关于我应该如何解决这个问题的任何想法或指导?
java - 从非 Android 设备查找和 Android NSD-Service
由于 Android 4.1 网络服务发现 (NSD)可用。但是,如何找到一个从计算机或其他不运行 android 的设备公开 NSD 服务的 android 设备。如示例中所示构建一个 android 应用程序会发现另一台设备很好,但是,并不总是将 Android 作为平台。
我正在我的 PC 上运行 UPnP 发现,但手机没有出现。
你可以在 github 上找到我实现的 NSD-Service 。
Discovery 应用程序很简单,来自android 示例。
UPnP 示例正在使用 Cling,并且来自他们的教程,它找到了我的路由器和 windows 媒体播放器,所以我认为它可以工作。
问题可能是基于服务发现协议的不匹配,我对 NSD、UPnP、Bonjour、Zeroconf 和所有其他可能性之间的区别感到困惑......
android - 在android上使用wifi直接发现服务后该怎么办?
我通过 wifi-direct 实现了服务发现,并且能够使用http://developer.android.com/training/connect-devices-wireless/nsd-wifi-direct.html成功发现服务。但我不知道现在该怎么办?如何连接到服务?我连接到其他同行的方式?如何通过 wifi-direct 使用服务?谢谢。