问题标签 [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.
java - 阅读源代码
如果您阅读其他人的源代码,您如何处理代码?您在寻找什么模式(数据类型、循环、控制流的使用……)?你能读多久别人的代码而不感到无聊?到目前为止,您发现的最令人兴奋的模式是什么?
java - 如何发现给定接口后面的 NAT 类型
我想发现给定网络接口后面的 NAT 类型(FullCone、Restricted Cone、Port Restricted cone、Symmetric)。
我测试了不同的工具(http://freshmeat.net/projects/jstun/,http://code.google.com/p/boogu/),但它们针对同一界面报告了不同的结果。
我正在寻找 Python (或其他语言,第二选择是 Java,如果没有其他可用的话)的明确答案。
.net - WCF 中的 Web 服务发现:Ws-Discovery 还是 UDDI?
我知道 UDDI 和 Ws-Discovery 之间的区别(很清楚搜索服务与广播的位置)。但我的问题是:在 WCF 中发现 Web 服务的最简单方法是什么?最简单的意思是什么已经在 WCF 中实现并且现在可以使用?我没有在 WCF 中看到任何用于 UDDI 或 Ws-Discovery 的内置实现。
关于 WCF 中的这两个协议,您有任何链接或经验可以分享吗?
更新
现在我正在考虑三种解决方案,等待 .NET 4.0 上的 WS-discovery,或者使用 WCF 提供的 Peer to Peer 绑定创建我自己的发现绑定。这样我可以广播一个请求。或者使用eed3si9n的链接提供的实现。
我想我会做一个网关接口,以便稍后轻松更改实现。
java - 是否可以从 Java 中发现插入的磁盘?
我正在编写一个磁盘爬虫,如果用户没有提供现有路径,程序应该搜索所有可用的磁盘。有谁知道这是否可能,如果它是如何从 Java 中做到这一点的?
java - 运行可执行 jar 时如何查找类
我正在运行一个可执行的 jar,并希望在 jar 中找到一个类列表,以便我可以在运行时决定运行哪个。我可能不知道 jar 文件的名称,所以无法解压缩它
c# - 为什么订阅多播组的 UDP 套接字正在接收非多播消息?
概述:我已经设置了一个服务器和一个客户端,两者都尝试使用 UDP 发现彼此。当服务器启动时,它会发送一条多播消息 (239.1.1.1),表明它还活着。当客户端启动时,它会发送一条多播消息 (239.1.1.2),表明它是活动的。服务器和客户端都订阅了彼此的多播消息以接收它们的传输。这样,无论哪个应用程序(服务器或客户端)首先启动,都会通知其中一个或另一个它们的存在。
在客户端,我执行以下操作:
- 设置一个监听套接字来订阅和接收来自服务器的多播消息。
根据下面的 #3设置接收套接字以接收服务器对客户端多播消息的响应。- 发送客户端正在运行的多播消息(供服务器接收和响应)。
- 接收服务器对 #3 中发送的客户端多播消息的响应。
问题:一切正常,除了两个接收套接字最终都得到服务器(非多播)对客户端的响应。我不清楚这是否是预期的行为。我可以将两个接收插座减少到一个吗?#1 订阅了服务器的多播,而#2 只是在同一端口上侦听来自服务器的直接传输(来自服务器的非多播消息)。我可以安全地移除第二个接收插座吗?
请参阅下面的源代码(为了更简单的代码演示,我删除了异常处理)。
客户端代码:
服务器代码:
sockets - UDP 服务器发现 - 客户端应该发送多播以查找服务器还是服务器应该发送常规信标?
我有需要全部连接到单个服务器进程的客户端。我正在为客户端使用 UDP 发现来查找服务器。我让客户端和服务器交换IP地址和端口号,以便在发现完成后建立TCP/IP连接。这样,数据包的大小就可以保持很小。我看到这可以使用 UDP 以两种方式之一完成:
- 每个客户端发送自己的多播消息以搜索服务器,然后服务器对其进行响应。客户端可以定期(在服务器关闭的情况下)重复发送此多播消息,直到服务器响应。
- 服务器定期发送多播消息信标。客户端订阅多播组,从而接收到服务器的多播消息并完成发现。
1. 如果有很多客户端,那么最初会传输许多多播消息(每个客户端一个)。只有服务器会订阅和接收来自客户端的多播消息。一旦服务器响应客户端,客户端停止发送多播消息。一旦所有客户端都完成了对服务器的发现,就不会再在网络上传输多播消息。但是,如果服务器已关闭,则每个客户端将间隔发送多播消息信标,直到服务器备份并可以响应。
2. 只有服务器会定期提交多播消息信标。该消息最终会被路由到订阅多播组的所有客户端。一旦客户端收到数据包,客户端的 UDP 侦听套接字就会关闭,并且它们不再订阅多播组。但是,服务器必须继续发送多播信标,以便新客户端可以发现它。它会继续定期发送信标,无论是否有任何客户端需要发现。
所以,无论哪种方式,我都看到了利弊。在我看来,#1 最初会导致更重的负载,但这个负载最终会减少到零。在#2中,服务器将永远继续发送信标。
UDP 和多播对我来说是一个相当新的话题,所以我有兴趣找出哪种方法是首选方法,哪种方法可以减少网络负载。
algorithm - 我怎么知道是否有其他类似于我的算法?
在另一个问题中,我问了类似的问题,但我最终只是在那里发布了我的算法并使几个答案无效。我在这里重新问一下:
如果我“发明”了一种算法,那么让我弄清楚它是否已经发表/获得专利的最佳方法是什么?
web-services - twitter 网络服务是“可发现的”吗?
让我知道你的想法...
web-services - 是否有任何可用的公共 UDDI 注册中心?
我目前正在尝试掌握 UDDI,并希望使用查询 API 运行一些示例,但是我找不到可以使用 SOAP 消息查询的公共注册中心。
几年前,IBM、Microsoft 和 SAP 曾经托管公共 UDDI 服务器,但后来停止了。
我知道xmethods包含一个公开可用的 Web 服务列表,但我想只专注于使用 UDDI 发现 Web 服务(之后不会真正调用这些服务)。
有谁知道任何可用的公共 UDDI 注册中心?