gpt4 book ai didi

c# - Mono.Zeroconf 服务端口始终设置为 0

转载 作者:行者123 更新时间:2023-11-30 23:27:58 27 4
gpt4 key购买 nike

我正在尝试使用 Mono.ZeroConf用于服务发现。我可以正常发现服务,但每个服务的端口始终设置为 0 而不是实际值。

我正在使用 .NET 4ZeroConf 0.9.0,这是我的代码:

public MainWindow()
{
serviceBrowser = new ServiceBrowser();
serviceBrowser.ServiceAdded += ServiceAdded;
serviceBrowser.Browse(0, AddressProtocol.Any, "_http._tcp.", "local");
}

private void ServiceAdded(object o, ServiceBrowseEventArgs args)
{
Console.WriteLine("*** Found name = '{0}', type = '{1}', domain = '{2}'",
args.Service.Name,
args.Service.RegType,
args.Service.ReplyDomain);
args.Service.Resolved += ServiceResolver;

if (args.Service.Name.Equals("MyService") &&
args.Service.RegType.Equals("_http._tcp."))
{
args.Service.Resolve();
}
}

private void ServiceResolver(object o, ServiceResolvedEventArgs args)
{
IResolvableService service = o as IResolvableService;
Console.Write("*** Resolved name = '{0}', host ip = '{1}', hostname = {2},
port = '{3}', " + "interface = '{4}', address type = '{5}'",
service.FullName, service.HostEntry.AddressList[0],
service.HostEntry.HostName, service.Port,
service.NetworkInterface, service.AddressProtocol);
}

当我使用 MZClient 时0.8.0 发现服务所有端口值都符合预期,但是当我使用 0.9.0 时,同样的事情发生了。

如何获得正确的端口值?是因为版本 0.9.0 中的某些错误还是其他原因?

最佳答案

这是由于 Mono.Zeroconf 中的错误,已在 this pull request 中修复.

您需要自己构建库,直到接受拉取请求并再次发布 Nuget 包。

关于c# - Mono.Zeroconf 服务端口始终设置为 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36217012/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com