查找服务的标准方法(在本地网络中打开端口)

Posted

技术标签:

【中文标题】查找服务的标准方法(在本地网络中打开端口)【英文标题】:standard way to find service (open port in local network) 【发布时间】:2017-12-26 07:41:11 【问题描述】:

我想实现我的两个程序的自动连接, 在同一个本地网络中。

程序 A 打开 TCP/IP 套接字以侦听某些预定义端口。 程序B应该找出本地网络中是否有程序A

在不配置第三方软件(我的意思是 dns 服务器或其他解析软件)的情况下实现这一目标的标准方法是什么?

我找到了ssdp 协议,这是我要找的,还是我只需要扫描所有本地网络 IP 范围以查找开放端口?

【问题讨论】:

【参考方案1】:

SSDP 或 zeroconf 将是最快的解决方案,而且比扫描开放端口要好得多。

扫描打开的端口会花费更多时间,因为您必须等到超时才能知道端口已关闭。

【讨论】:

谢谢,但我到底应该使用 zeroconf 还是 SSDP? 我会推荐 zeroconf,因为它还支持网络发现功能,例如 UPnP 和多播 DNS。 en.wikipedia.org/wiki/Zero-configuration_networking 在***中SSDPzeroconf 描述中的段落,因此尚不清楚ssdpzeroconf 是否可能进行比较。 我同意***的文章不是很清楚,互联网上也没有太多明确区分这两种协议的内容。我认为 SSDP 和 zeroconf 在功能方面都有相似之处。这就像两个不同组织开发的两个类似协议。

以上是关于查找服务的标准方法(在本地网络中打开端口)的主要内容,如果未能解决你的问题,请参考以下文章

服务器怎么打开端口?

进程,服务,端口的关系

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

将我的本地烧瓶服务器配置为可用于同一 wifi 网络下的其他设备

smb是啥啥打开

win7位 连接共享打印机 0x00000043报错,本地端口添加被拒绝访问。有啥解决方法吗?