问题标签 [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 投票
2 回答
34580 浏览

wcf - 通过命名管道绑定公开 WCF 服务

介绍:

几天前,我成功实现了托管在 Windows 服务中的 WCF 服务。StackOverflow 的社区在这里帮助我了解了 WSDL。我再次感谢你。但是最近我发现这次服务的另一个潜在客户端与该服务位于同一台机器上,这使我认为我应该使用 namedPipesBinding 添加另一个端点。

就我而言,命名管道似乎是机器内通信的最佳解决方案。如果这是错误的,请纠正我。

问题:

我需要为同一服务/合同公开另一个端点,但这次使用 netNamedPipeBinding。但是我真的不明白如何才能添加来自客户端的服务引用。添加后愚蠢

我试图在位于同一台机器上的 Windows 窗体应用程序中添加服务引用,键入 net.pipe://.... url。它没有用。我必须提到我之前已经删除了 mex(元数据交换)端点,因为我认为没有必要。

  1. 命名管道端点绑定发现是否需要此 mex 端点?
  2. 我应该如何将客户端应用程序中的服务引用添加到命名管道端点?
0 投票
5 回答
6281 浏览

c# - 客户端应用程序在 C# 中查找本地网络上的服务器的最佳方法是什么?

客户端使用 GenuineChannels 连接到服务器(我们正在考虑切换到 DotNetRemoting)。我所说的查找是获取要连接的服务器的 IP 和端口号。

似乎蛮力的方法是尝试网络上的每个 IP 尝试活动端口(甚至不确定这是否可能),但必须有更好的方法。

0 投票
3 回答
2802 浏览

python - 灵活、可靠和便携的服务发现

我正在寻找一种方法,让 LAN 中的客户端无需任何配置即可找到我的服务器应用程序的所有实例。我不想自己破解某些东西,而是想使用现有的解决方案。就个人而言,我需要用 Python 来完成它,但我很高兴听到任何其他语言的解决方案。

那么为什么我不使用avahiOpenSLP或其他Zeroconf / SLP解决方案呢?好吧,还有一些额外的标准,我的印象是上述系统都不符合它们。

我正在寻找一个解决方案:

  • 灵活。它必须不需要超级用户权限,即只使用端口>1024。
  • 固体。它必须允许在一台机器上提供相同和不同服务类型的多个服务,并且即使在启动广告服务器的实例停止或崩溃时也能继续广告服务。
  • 便携。它几乎必须在任何地方运行,或者至少在 *BSD、Debian/gentoo/RedHat/SuSe Linux、Mac OS X、Solaris 和 Windows NT 上运行。
  • 。理想情况下,一个 Python 脚本将是整个解决方案。我对地址自动配置或类似的东西一点也不感兴趣,尽管我不情愿地接受一个有很多我不需要的功能的解决方案。此外,任何一次性设置都是严格禁止的。

我期待这样的事情:

0 投票
2 回答
519 浏览

networking - 在网络上定位设备的最佳方法是什么?

我正在为一家销售硬件设备的公司开发软件。他们希望该软件能够定位网络上的所有设备,而不限制他们的任何一个 IP。

最好的方法是什么?我在想硬件可以订阅一个“已知的”多播地址,让软件广播给它,硬件会回复。设备和软件将驻留在同一个 LAN 上,所以我不担心多播被阻止。我只是担心将来我会发现“已知”地址已经在使用中。一旦我在野外拥有设备,我就不可能更改此协议。请指教。

0 投票
3 回答
8721 浏览

c# - 在 C# 中使用 DNS SRV 记录

是否有内置(.net 框架)类或函数来将 SRV 条目解析为相应的记录?

IE:_dmsc._tcp.network.local 到一个信息数组(主机、端口、权重、优先级)

0 投票
2 回答
676 浏览

networking - 创建可通过网络发现的 Windows (win32) 服务

简而言之:如何可靠地发现在零客户端配置的(可能是多分段的)局域网上某处运行的服务器

我的客户端应用程序必须在不知道服务器 IP 地址的情况下找到服务器应用程序。它必须在本地 LAN 上工作,该 LAN 可以通过集线器或其他交换设备分成多个部分。

我已经有了一个可行的解决方案,但是让它在多段网络上工作有点麻烦。它的工作原理如下:

当客户端启动时,它会在自己的网段上发送 UDP 广播。如果服务器在同一段上运行,则它可以正常工作 - 服务器使用适当的消息进行响应。

如果服务器和客户端运行在由不会转发 UDP(最可能的情况)的集线器/交换机分隔的网络上,那么我在每个段上运行一个服务器实例,它们通过 TCP 将客户端请求相互转发 -但我需要为服务器实例配置它(简单,但对技术支持来说仍然很痛苦。)这是我需要解决的主要问题。在某些网站上,我们有数百个客户端在 5 或 6 个独立的细分市场上运行。

我面临的问题: 1. 虽然我的应用程序安装程序在防火墙上启用了适当的端口,但有时我会遇到这种情况似乎没有正确发生的情况。2. 必须在不转发 UDP 的集线器/交换网络上运行多个服务器实例(因此配置和维护它们)

最后,我需要一个无需维护即可在可能没有配置 Active Directory 或其他查找服务的最小 Windows 网络(XP / 2000 / Vista)上工作的解决方案。

我不想为此标记任何运行时的东西——应该可以用普通的 VC++ 或 Delphi 来做。

商业应用程序通常采用哪些方法?我知道 SQL Server 使用广播和 NetBEUI 调用的组合(我可能错了)。

提前致谢。

0 投票
2 回答
3139 浏览

bluetooth - 蓝牙 UUID 发现

有谁知道蓝牙设备如何在范围内获取可发现设备的设备 ID?

理想情况下,我正在寻找涉及蓝牙协议最小实现的最简单解决方案。

一个起点会很好,我只想创建一个设备,它可以存储附近蓝牙设备的所有设备 ID,并且功耗最小,最好只使用无线电频率而不是 SDP 和其他任何东西。

如果你不能帮助我,请你帮我找到低级蓝牙(逐步)通信的好读物。在线阅读水平如此之高,以至于我无法计算出实际发送的内容,时间。

0 投票
1 回答
657 浏览

php - 基于 OpenID 的 IdP 发现的 PHP 实现?

谷歌有一个非常好的用户友好的联合 OpenID 登录和自动端点发现:

这是在 Java Servlets 中实现的,是否有可以与 php-openid 结合使用的 PHP 等效项?

发现机制 XRDS 包含在以下文档中:

  • groups.google.com/group/google-federated-login-api/web/openid-discovery-for-hosted-domains

看起来像“DiSo's XRDS-Simple”这样的东西应该可以工作,但基本测试并不能提供有用的结果。

  • code.google.com/p/diso/

谢谢,

0 投票
1 回答
765 浏览

wsdl - 修复 contractRef 和 docRef 上的非标准 Web 服务器端口

我的问题与此密切相关:如何从非标准端口使用 .NET Web 服务?. 我的 Web 服务在端口转发防火墙后面运行,因此 WSDL 文档中报告的端口号包含内部高编号端口。我编写了一个能够重写 WSDL 文档的 SoapExtensionReflector 类。因此,像 example.com/path/loginservice?wsdl 这样的请求得到了正确处理。

但是,这不处理“迪斯科”请求:example.com/path/loginservice?disco。这将返回一个 XML 文档,如下所示:

虽然 SoapExtensionReflector 已经正确地重写了soap 绑定,但是contractRef 和docRef URL 具有高编号的端口。我怎样才能重写它们呢?

0 投票
2 回答
3353 浏览

c# - WCF 发现找到端点,但主机是“localhost”

我正在尝试使用 WCF 中的发现功能,使用http://msdn.microsoft.com/en-us/library/dd456783(v=VS.100).aspx作为起点。它在我的机器上运行良好,但后来我想在另一台机器上运行该服务。该服务已正确发现,但找到的服务的主机名始终是“localhost”,这当然没有多大用处。

服务端点:

客户:

我应该简单地将主机设置为 System.Environment.MachineName 吗?