1

我有一些代码使用 PNRP 来发现网络上的对等点。自 Windows 10 更新 1803 以来,一切正常。

public void Init()
    {
        try
        {
            _ServiceUrl = Dns.GetHostAddresses(Dns.GetHostName()).Where(address => address.AddressFamily == AddressFamily.InterNetwork).Select(address => _Address = address).Select(address => $"net.tcp://{address}:{Port}/SiemensVR").FirstOrDefault();

            if (string.IsNullOrEmpty(_ServiceUrl)) return;

            _LocalProxy = new PeerProxy(_EventAggregator, this);
            _Host = new ServiceHost(_LocalProxy, new Uri(_ServiceUrl));

            var binding = new NetTcpBinding();
            binding.Security.Mode = SecurityMode.None;

            _Host.AddServiceEndpoint(typeof(IPeerContract), binding, new Uri(_ServiceUrl));
            _Host.Open();

            _PeerName                     = new PeerName(PEER_NAME_ID, PeerNameType.Unsecured);
            _PeerNameRegistration         = new PeerNameRegistration(_PeerName, Port) { Cloud = Cloud.AllLinkLocal };
            _PeerNameRegistration.Comment = _UserId.ToString();
            _PeerNameRegistration.Start();

            ResolvePeers();
        }
        finally { }
    }

    private async void ResolvePeers()
    {
        var resolver = new PeerNameResolver();
        resolver.ResolveProgressChanged += OnResolveProgressChanged;
        resolver.ResolveCompleted += (s, e) =>
        {
            Console.WriteLine("Completed");
        };

        resolver.ResolveAsync(_PeerName, this);

        await Task.Delay(1000);

        resolver.ResolveAsyncCancel(this);
    }

MS是否已经用某些东西代替了PNRP?

我已经测试过激活 pnrp 服务、重新安装 teredo 隧道等。

4

3 回答 3

1

Microsoft 已弃用并正在删除 PNRP。您不走运,因为它的服务和客户端 API 已被完全删除。

请参阅https://docs.microsoft.com/en-us/windows/deployment/planning/windows-10-deprecated-features

于 2020-08-25T14:35:33.183 回答
0

同样的问题,我发现一个 Microsoft 说明将以下服务设置为自动延迟启动:

Computer Browser (Browser) <- Set to Automatic, not delayed start
Function Discovery Provider Host (FDPHost)
Function Discovery Resource Publication (FDResPub)
Network Connections (NetMan)
UPnP Device Host (UPnPHost)
Peer Name Resolution Protocol (PNRPSvc)
Peer Networking Grouping (P2PSvc)
Peer Networking Identity Manager (P2PIMSvc)

但这并没有解决问题。

解决这个问题有什么进展吗?

于 2018-12-20T14:59:30.143 回答
0

在这里遇到同样的问题...如果您找到任何解决方案,请告诉我。

以前,我们的应用程序工作正常,但在 1803 上它不再工作了。我可以看到云开始同步,然后每个对等方最终都单独进入状态。

于 2018-07-02T23:38:31.280 回答