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

0 投票
7 回答
64967 浏览

android - 有什么方法可以在您的网络上发现 Android 设备?

我希望能够在我的网络上发现 Android 设备,并可能检索一些关于它们的设备信息。这对于 Apple 设备来说非常容易,因为它们运行 Bonjour 服务。但是,我似乎找不到在 Android 上运行的任何类似服务。

这必须在不修改 Android 设备、安装某些服务或打开某些端口的情况下工作。它旨在以 Bonjour 帮助您找到普通 Apple 设备的方式与普通 Android 设备一起使用。即使能够验证设备是否运行 Android 就足够了。


选择的答案:虽然它不是最高评价的答案(还),但请看一下 Luis 的回复。正如他所提到的,您可以使用 DNS 查找(使用本地 DNS 服务器)来发现 Android 设备。我发现这有 100% 的成功率,因为​​ Android 强制设备使用主机名 android- _ ____。这显然很难在手机上更改,即使它已植根。所以我认为这是一个非常准确的方法。谢谢,路易斯!


示例代码:如果您想在 Java 中实现它(例如,在 Android 上运行),您不能轻易使用 getHostName(),因为它使用外部 DNS 服务器。例如,您想使用路由器上的本地 DNS 服务器。Luis 在下面提到,您可以修改 Wifi 连接的 DNS 服务器,但这可能会破坏其他事情。相反,我发现该dnsjava库对于发送有针对性的 DNS 请求非常有帮助。以下是使用该库的一些示例代码:

这给了我输出:

答对了。

0 投票
1 回答
1626 浏览

service - Apache Thrift 服务自动发现

我想使用 apache thrift 开发一些本地网络服务。应该有多个服务等待 ONE master 连接到它们并独占使用它们,直到 master 释放它们。这些服务以多种语言编写。

之所以选择使用 thrift,是因为我需要一些简单的远程过程调用机制来实现服务之间快速且支持多种语言的通信。虽然 thrift 对 RPC 有好处,但我需要一些机制来通过一些自动发现机制定位服务 TCP 地址和端口,然后才能在不硬连线地址的情况下相互连接 thrift 服务器/客户端。

我有哪些自动发现此类服务的可能性?

谢谢!

0 投票
1 回答
4677 浏览

multicast - 如何正确设置我的 UdpClient 以在 C# 中侦听多播地址 239.255.255.250:1900

我正在建立一个带有 3 台笔记本电脑的小型本地网络。我的目标是试验 UpNP 协议并让笔记本电脑使用 UpNP 发现彼此。为了做到这一点,他们需要能够监听彼此的通知。根据协议,这些通知在多播地址 239.255.255.250:1900 上发送。但是,我在设置笔记本电脑以收听该地址时遇到问题。我开始只使用 1 台电脑。我的电脑的 IP 地址是 10.0.0.5。

但是,当我尝试设置 UdpClient 以侦听 239.255.255.250:1900 时,我收到一条错误消息:“请求的地址在其上下文中无效”。

我试过用这个来设置它:

我也试过:

但我仍然收到同样的错误:“请求的地址在其上下文中无效”。

如何正确设置我的 UdpClient 以侦听多播地址 239.255.255.250:1900 ?

谢谢你的帮助!!!

0 投票
4 回答
9710 浏览

sockets - 在 ZeroMQ 中获取 TCP 地址信息

我想使用 ZeroMQ(java 绑定,jzmq)将客户端连接到服务器,但我非常需要 TCP 信息,例如客户端请求的 TCP/IP 地址!问题是,为了能够在网络中宣布服务,我需要获取请求的 TCP 地址才能将客户端重定向到该服务。在这种情况下,代理是一个中央“服务注册中心”。但是,在双方都有 ZeroMQ 服务时,我看不到检索该信息的选项。

我现在要做的是使用标准套接字与代理建立一个虚拟连接,在建立连接后,我获取用于此连接的 IP 地址并再次关闭连接。检索到的 IP 地址现在正用于使用随机端口上的 ZeroMQ 套接字对其进行绑定。

我认为这个解决方案是有史以来最丑陋的解决方案,所以:这个问题的更好解决方案是什么?

问候。

0 投票
2 回答
1945 浏览

python - 尝试生成发现文档时出现 503 Service Unavailable

我正在使用 Google Cloud Endpoints,并且正在尝试生成一个发现文档来创建一个 iOS 客户端库,以便我可以测试我的端点。如文档中所述,我尝试使用此命令执行此操作:

appfileApiClass更改为真实姓名。

当我运行它时,我得到:

为什么要生成访问 Internet 的发现文档?为什么我会收到这个错误?我能做些什么来解决它?

PS 我已经检查了我的代码中的基本错误,例如消息类中的其他类型、错误的主机名等,但似乎没有任何问题。

0 投票
1 回答
746 浏览

web-services - 如何向 FuseESB 添加服务注册中心(例如:UDDI)?

我正在使用 Red Hat Fuse ESB。

我想使用“服务注册中心”概念(例如:UDDI)在运行时发现服务的端点。

可行吗?!

非常感谢

0 投票
0 回答
269 浏览

java - acceptAndOpen() 方法错误

我正在制作一个与蓝牙相关的应用程序来浏览互联网..服务器作为笔记本电脑/台式机,客户端作为手机..我需要在客户端和服务器之间建立连接..但是服务器的执行突然停止在该方法acceptAndOpen()..请帮助解决问题..这是它在服务器端停止的代码:

0 投票
1 回答
1026 浏览

c# - 如何确定认证类型?

我创建了单独的身份验证方法(一种用于在线,一种用于内部部署)。现在,我让用户选择使用哪种方法(然后提供组织服务的 URL 和凭据)。

我想使该过程自动化,我发现有关身份验证类型的信息应该在发现服务中。也是这样。我可以使用以下代码获取它。

我的问题是,为了创建发现服务代理,我需要指定设备凭据,这是使用身份验证过程获取的,我试图确定其类型。这是第22条...

如何仅根据发现或组织服务的 URL 确定身份验证类型?

0 投票
1 回答
482 浏览

java - Android 蓝牙服务发现在两个不同的设备上产生不同的结果 - 它是 Android 版本吗?

运行下面的代码,我的 Galaxy 平板电脑 (SCH-I905 - Android 4.0.4) 正确地发现了 PC 上的三个蓝牙服务。在 Galaxy Nexus - Android 4.2.2 上运行相同的代码只能找到其中一项服务。任何想法表示赞赏:

};

在 Eclipse 调试器中,以下数组显示了三个事件 [00001000-0000-1000-8000-00805f9b34fb、00001115-0000-1000-8000-00805f9b34fb、00001202-0000-1000-8000-1000-1000-8000-015805f90030b,但仅适用于平板电脑 [00001115-0000-1000-8000-00805f9b34fb -0000-1000-8000-00805f9b34fb] 用于 Nexus。不知道是版本问题还是硬件问题。谢谢你,约翰

最后一点 - 我正在使用... BluetoothDevice device = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE); device.fetchUuidsWithSdp();

0 投票
2 回答
621 浏览

networking - 发现Linux设备网络

我有一组相同的自定义 linux 设备插入网络并通过 DHCP 分配地址。这些需要能够自动发现彼此。这样做最合适的方法是什么?