查找服务的标准方法(在本地网络中打开端口)
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 在***中SSDP
是zeroconf
描述中的段落,因此尚不清楚ssdp
与zeroconf
是否可能进行比较。
我同意***的文章不是很清楚,互联网上也没有太多明确区分这两种协议的内容。我认为 SSDP 和 zeroconf 在功能方面都有相似之处。这就像两个不同组织开发的两个类似协议。以上是关于查找服务的标准方法(在本地网络中打开端口)的主要内容,如果未能解决你的问题,请参考以下文章
客户端应用程序在 C# 中查找本地网络上的服务器的最佳方法是啥?