当前位置 : 主页 > 编程语言 > c语言 >

C#/ .NET:确定服务器是否存在,查询SVC记录的DNS

来源:互联网 收集:自由互联 发布时间:2021-06-25
编写一个cleint / Server工具我的任务是尝试找到要连接的服务器.我希望为用户尽可能简单.因此,我的想法是: 查看是否存在特定服务器(按名称编码)(例如,邮件服务器的“mail.xxx” – 我的
编写一个cleint / Server工具我的任务是尝试找到要连接的服务器.我希望为用户尽可能简单.因此,我的想法是:

>查看是否存在特定服务器(按名称编码)(例如,邮件服务器的“mail.xxx” – 我的例子不是邮件服务器;)
>否则查询DNS SVC记录,允许管理员为特定服务(客户端连接到服务器)配置服务器位置.

结果是用户可能只需要输入域名,甚至可能不输入域名(使用LAN环境中的计算机的注册标准域).

任何想法如何:

>找出服务器是否存在并以最快的方式回答(即在线)?如果服务器不存在,TCP可能需要很长时间. UDP样式的ping对我来说听起来不错. PING本身可能无法使用.
> Anyonw知道如何从forint .NET最好地询问特定(默认)域中的SVC记录?

测试服务是否存在且处于活动状态的最佳方法可能是使用该服务的本机协议.否则我会选择ping(ICMP ECHO).

至于查找SRV记录(我假设你的意思是“SRV”,因为没有“SVC”类型),你可以使用“DNS Client Library for .NET”(http://www.simpledns.com/dns-client-lib.aspx) – 例如:

var Response = JHSoftware.DnsClient.Lookup("_ftp._tcp.xyz.com", 
                                       JHSoftware.DnsClient.RecordType.SRV);
网友评论