1
サービス発見にMono.ZeroConfを使用しようとしています。私はサービスを正常に発見できますが、すべてのサービスのポートは実際の値ではなく常に0に設定されています。Mono.Zeroconfサービスポートは常に0に設定されます
私は.NET 4
を使用して、そしてZeroConf 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);
}
私は0.9.0を使用する場合、すべてのポート値は予想通りですが、サービスを発見するためにMZClient 0.8.0を使用する場合は、同じ事が起こる。
適切なポート値を取得するにはどうすればよいですか?それはバージョン0.9.0の何らかの不具合、または何か他のものに起因するのでしょうか?