繁体   English   中英

TcpListener无法在UWP应用上使用

[英]TcpListener not working on UWP app

我正在创建一个非常简单的客户端服务器UWP应用。 我有以下代码。

private void Button_Click(object sender, RoutedEventArgs e)
{
    TcpListener server;

    server = new TcpListener(IPAddress.Any, 8081);
    server.Start();

    while (!server.Pending())
    {
    }

    Console.WriteLine("Connected");
}

此代码在“ Windows Classic”表单应用程序中完美运行。 但是,在我的UWP应用中,待处理始终为“ false”。 它拒绝看到传入的连接。 我在客户端和服务器的同一台笔记本电脑上,并且防火墙已关闭。 同样,它可以在我的表单应用程序中使用,因此不能在环境中使用。 我已经在功能部分中允许使用客户端/服务器选项,但是仍然没有运气。

使用netstat可以看到端口8081正在监听。

有什么想法我在这里想念的吗? 谢谢。

我在客户端和服务器的同一台笔记本电脑上

根据您的描述,服务器和客户端位于同一台设备上。 根据本文档的注释部分:

由于网络隔离,Windows不允许在同一台计算机上运行的两个UWP应用之间建立套接字连接(套接字或WinSock)。 无论是通过本地回送地址(127.0.0.0),还是通过显式指定本地IP地址。 有关UWP应用之间相互通信的机制的详细信息,请参阅应用对应用通信。

我们无法在同一台计算机上运行的两个UWP应用之间建立套接字连接。 甚至没有环回豁免。 这是设计。

更多细节请参考官方样品

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM