在Windows UWP中访问更高级别的UDP端口

在Windows UWP中访问更高级别的UDP端口,uwp,udp,port,datagram,udpclient,Uwp,Udp,Port,Datagram,Udpclient,我有一个最初为Win8 Modern编写的应用程序。我使用UDP通过端口54372与外部硬件通信 我把它移植到Android和iOS,现在想把它重新移植回UWP。 当我尝试访问我的UWP应用程序中的端口时,我收到一个未知错误。我尝试了我的现代应用程序中最初的DatagramSocket方法,以及Android和iOS应用程序中的System.Net.Sockets.UdpClient方法 然后我试着运行微软的DatagramSocket示例 如果我使用他们的默认服务,没有问题。如果我将其更改为5

我有一个最初为Win8 Modern编写的应用程序。我使用UDP通过端口54372与外部硬件通信

我把它移植到Android和iOS,现在想把它重新移植回UWP。 当我尝试访问我的UWP应用程序中的端口时,我收到一个未知错误。我尝试了我的现代应用程序中最初的DatagramSocket方法,以及Android和iOS应用程序中的System.Net.Sockets.UdpClient方法

然后我试着运行微软的DatagramSocket示例

如果我使用他们的默认服务,没有问题。如果我将其更改为54372,则会收到错误消息:

System.Runtime.InteropServices.COMException:'试图 以其访问权限所禁止的方式访问套接字

现在看来代码还可以,只是MS现在对我可以使用的端口施加了限制

我需要对权限进行哪些更改才能允许我的应用访问此端口?硬件是一种商业产品,在过去9年中一直在该领域,因此改变端口不是一个选项

谢谢,

我发现了问题。这似乎是苹果公司的“你好”服务。而不是仅仅“获取”所需的单个UDP端口,它分配了100个数据块。真倒霉,我的默认端口就在这个街区的中间。停止“你好”后,一切正常。重新启动Bonjour导致它选择了不同的块,因此它不再干扰。它迫使我们修改应用程序的各种版本,以允许备用UDP端口,并发布固件更新以更改端口,以防任何客户在将来遇到此问题。同样,如果操作系统告诉我问题是什么,而不仅仅是“未经授权的访问”

您的服务器客户端使用了哪个端口,那就太好了。我使用的是端口54372。如果从Microsoft加载示例应用程序,它适用于编号较低的端口,但如果尝试使用编号较高的端口,则会失败。现代应用程序(Win 8)以及Android和iOS应用程序都没有这个问题。进一步调查显示,54349-54448范围内的端口都有同样的问题。这100个端口的范围有什么特别之处?可能这100个端口(54349-54448)的范围已被系统占用。如果是,这是最近的更改。(过去几个月??)根据IANA的说法,它在“动态和/或私有”的范围内。在过去的9年里,它一直在发挥作用。没有扫描显示它正在使用中。我在MS文档中找不到对它们的引用。