UWP C#异步套接字服务器不能接受
Posted
技术标签:
【中文标题】UWP C#异步套接字服务器不能接受【英文标题】:UWP C# asynchronous Socket Server can't accept 【发布时间】:2018-11-13 08:37:15 【问题描述】:我的 Socket 服务器无法接收任何连接请求。
尝试使用简单的Socket服务连接服务器=>连接尝试失败,因为连接方在一段时间后没有正确响应,或者连接失败,因为连接的主机没有响应127.0.0.1:1337。 在 appxmanifest 中启用了私有互联网和互联网(客户端和服务器)。
服务:
IPEndPoint serviceEndPoint = new IPEndPoint(IPAddress.Loopback, 1337);
Socket _serviceSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
_serviceSocket.Bind(serviceEndPoint);
_serviceSocket.Listen(254);
Socket clientSocket = null;
await _serviceSocket.AcceptAsync(clientSocket);
客户:
IPAddress _address = IPAddress.Loopback;
IPEndPoint _ep = = new IPEndPoint(_address, 1337);
Socket _clientSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
_clientSocket.Connect(_ep);
【问题讨论】:
这当然看起来应该可以工作 - 它可以在常规 .NET(非 UWP)上工作... 你能告诉我为什么它在 UWP 中不起作用吗? 我真的希望我能;不过,您的代码并不疯狂 - 不管它是什么:它是微妙且特定于 UWP 的:( 【参考方案1】:所以我尝试在我的 Raspberry Pi 上调试它并且它工作正常。我不知道为什么这段代码在我的电脑上不起作用。
【讨论】:
【参考方案2】:根据the docs,两个 UWP 应用程序由于(它们所谓的)网络隔离而无法在本地主机上通信。我没有这方面的经验,但文档可能会显示需要进行一些配置更改...
【讨论】:
以上是关于UWP C#异步套接字服务器不能接受的主要内容,如果未能解决你的问题,请参考以下文章