问题标签 [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.

0 投票
1 回答
303 浏览

android - Android 蓝牙没有发现和可发现性!

我的任务是,在接近某些 BT 扫描仪(我的电脑)时检测 android 设备

而不是发现所有可见设备:

  • 所有设备 BT MAC 地址都存储在我的 PC 中
  • 我可以在不打开 android 设备上的可发现性的情况下查找具有给定 MAC 地址的特殊设备吗?我不想一直打开可发现性,所以也许我可以检查设备的特殊 MAC 地址。像网络技术中的“ping”功能?

我希望你能理解我的问题并希望得到解决方案。

0 投票
3 回答
1513 浏览

c# - WCF 发现返回硬编码的 URL

宏伟的设计如下:

  1. 某些应用程序作为 Windows 服务安装
  2. 网络上可能有几个
  3. 他们每个人都向网络公开了一些接口(将其视为“远程控制”或“配置” - 那种东西)
  4. 然后有另一个应用程序充当该接口的客户端(使用相同的类比 - “遥控器”或“配置工具”)
  5. 后者的目标是在网络上嗅出前者的所有实例,将它们作为列表显示给用户,并允许用户使用暴露的界面(即“远程控制”或“配置”)在不同的地方戳它们他们)
  6. 为简单起见,我们假设每个人都在同一个网络中——也就是说,每个人都可以听到彼此的 UDP 广播。

很简单,嗯?在过去,我曾经使用自己的基于 UDP 广播的发现机制来构建这种东西。

但现在我想我会很酷很时髦,并在 Ad Hoc 模式下使用 groovy WCF Discovery 。它有效!谁能告诉?:-)

但不完全是。正如我之前在这里那里所指出的,发现从服务的配置中返回了硬编码的 URL。也就是说,如果服务<baseAddresses><add baseAddress="net.tcp://localhost:1234/My/Service" /></baseAddresses>在它的配置文件中,那么这正是我将从发现客户端得到的——包括“localhost”部分。

不用说,如果我尝试使用该 URL 调用服务,结果并不令人兴奋。

所以问题是:我如何让发现客户端给我可用的 URL 而不是 localhost-ish 垃圾?

为了节省大家的时间,有几个想法是行不通的:

  1. 在部署时更改服务的配置文件,将其编码为真实 IP 地址或机器名称。
    不起作用,因为 IP 和机器名称都可能更改。
  2. 从代码(至少部分)配置服务,使用当前 IP 或机器名称来构造 URL。
    不工作。机器名无用,因为网络中可能没有 dns。IP 没用,因为计算机可能同时在多个网络上,因此有多个 IP 地址(这不是假设,我们确实这种情况)。那该用哪一个呢?

换句话说,我不需要调整服务,而是让发现客户端给我发现响应来自的地址。

0 投票
1 回答
397 浏览

wcf - 如何将 WCF 服务的可发现性限制为特定地址?

我有一个连接到 WCF 服务并使用 WCF 4.0 发现的桌面应用程序。我使服务可发现的代码如下所示:

最近,同一家公司的 2 个不同部门正在使用该应用程序。每个部门都有自己的服务器,该部门的客户端应该只发现该部门的服务器。现在客户可以看到公司网络内的所有服务器。

服务有没有办法限制可以从哪些 IP 地址发现它?或者,更好的是,它可以在发现请求发生时动态批准/拒绝它们吗?

0 投票
2 回答
1861 浏览

.net - WCF 发现:在不同的子网中查找动态终结点

我正在使用动态端点来查找 WCF 服务。到目前为止,这很好用。但是,当服务位于不同的子网中时,将无法再找到它们。

我知道服务器的地址,但我不知道端口和确切的服务名称。

有没有办法使用 Discovery 来查找服务?

0 投票
1 回答
3232 浏览

python - 快速蓝牙名称查找

我在快速检测附近蓝牙设备的名称(人名,而不是 BTADDR)时遇到问题我在这里找到了一个非常有趣的基于 Python 的项目 [http://code.google.com/p/python-bluetooth-scanner/]但问题基本上是,虽然寻找 BTADDR 和 RSSI 很快,但检测设备的“人”名需要更长的时间(即使他们说它应该在代码中工作)

我知道我可以通过以下方式查找名称:

  1. 简单的“hcitool scan”控制台命令,速度很慢
  2. 模块 PyBlueZ 的 bluetooth.lookup_name(address) 方法
  3. 如项目中所写,报告如下

-

简要介绍:系统使用 2 个加密狗来检测附近的 BT 设备,如果我让它们查找名称,它们会花费更多时间因此保持锁定状态,当发现新设备时,设备仍会锁定在查找以前的名称整个软件挂起。我在 WindowsXP 环境中的 VirtualBox 和几个 BT 2.1 加密狗中运行 Ubuntu 10.10。

除了创建一个“未命名”设备列表之外,一旦我的加密狗完成了以前的加密狗,就可以查找这些设备。你知道我有什么方法可以更快地做到这一点吗?

0 投票
1 回答
1163 浏览

android - Wifi 和蓝牙发现问题

我有一个应用程序需要将蓝牙发现过程保持在一个循环中以始终发现新的蓝牙设备(当 BroadcastReceiver 获得 BluetoothAdapter.ACTION_DISCOVERY_FINISHED 时,我只需再次调用 startDiscovery())。我最近向应用程序添加了一些套接字通信,它基本上打开了一个到服务器的套接字,发送数据然后关闭套接字。

当我使用 3G 时,一切正常,嗅探器显示没有 TCP 重传,套接字被干净地打开和关闭。但是,使用 Wifi 会显示大量 TCP 重新传输,有时甚至会连接套接字失败(java.net.SocketException 超时)。

我正在使用带有 Android 2.2.1 的三星 Galaxy S。有什么我忽略的吗?

0 投票
3 回答
663 浏览

wcf - 为什么 WCF 发现 Udp 频道被中止

我希望服务器使用 WCF Discovery 不断跟踪可用客户端。

不幸的是,有时在评论指定的点上,我得到一个中止的 Udp 频道:

通信对象 System.ServiceModel.Channels.UdpChannelFactory+ClientUdpDuplexChannel 不能用于通信,因为它已被中止。

有没有人知道为什么?

0 投票
6 回答
92789 浏览

ios4 - 确定应用程序是否存在并在 iOS 上启动该应用程序

有没有办法检查 iOS 以查看是否已安装并启动另一个应用程序?如果没记错的话,这在早期版本中是不可能的,但是这已经改变了吗?

0 投票
1 回答
1279 浏览

android - Android:同时从 2 个设备进行多次蓝牙扫描的行为

我正在尝试同时从 2 部 Motorola Droid 2 手机执行蓝牙设备发现。他们每个人都看到不同的设备列表。实际上,除了那 2 部手机之外,它们周围还有 5 部设备。所以我希望他们两个都能看到所有其他 5 台设备。但是,一个看到 2 个设备,另一个看到 4 个设备。这个计数在不同的扫描中有所不同。我仔细检查了所有设备是否都处于可发现模式。

请帮助我理解这个发现的行为。

问题一:这正常吗?一次扫描 2 次,会发生冲突吗?

此外,如果 2 部手机发现同一部手机,让我们说“X”。

问题2:这2部手机可以同时连接到“X”吗?

实际上在电话“X”上,我正在运行一个蓝牙监听器来接受连接。我在此连接中看到不一致的行为(有时其中一部手机无法建立连接。)

我在这个论坛上搜索过,很少有讨论对我了解蓝牙连接有很大帮助。但是我仍然对上述两个问题并不完全清楚。

在此先感谢您的帮助。

0 投票
1 回答
741 浏览

wcf - 带有元数据的 WCF 服务发现

嗨,我正在寻找一个 WCF 示例,其中包括服务发现和发现/检测绑定类型的方法,我认为可以使用 metadata exchange 来完成。