在 UWP TcpListener AcceptTcpClientAsync 中不起作用
In UWP TcpListener AcceptTcpClientAsync doesn't work
我正在移植一些 TcpListener/TcpClient/etc 代码以在 UWP 上工作。但是,在通用 windows c# 应用程序中工作的最基本操作在 UWP 下对我来说失败了。
最基本的操作,例如等待 TcpClient 失败:
private async Task TestTcpListening()
{
Debug.WriteLine("Creating TcpListneer");
int portNumber = 8554;
TcpListener listener = new TcpListener(IPAddress.Any, portNumber);
listener.Start();
while(true)
{
Debug.WriteLine("Waiting on TcpListener to accept client");
TcpClient client = await listener.AcceptTcpClientAsync();
Debug.WriteLine(string.Format("We got a client! {0}", client));
}
}
如果我在通用 windows 控制台应用程序中 运行 这段代码,当我触发本地主机 URL 时 "We got a client" 位 运行s。如果此 运行s 在 UWP 应用程序中,它将永远等待并且调用应用程序超时。
备注:
- 我选择了 Internet(客户端和服务器)、Internet 和 Private Networks Package.appxmanifest
中的功能
- 我正在移植一个 RTSP 服务器,它作为一个通用的 windows 应用程序运行良好。因此,我使用的 URI 是 "rtsp://localhost:8554"。当构建为命令行 windows 应用程序时,将 VLC 指向该 URI 时,上述代码按预期工作。相同代码的UWP版本一直等待,VLC超时。
- 我是 Windows 的新手,所以我还不知道我不知道什么。
想法:
- 我是否需要以某种方式启用对应用程序的 "rtsp:" 协议访问?我不希望应用程序在点击 rtsp: url 时打开。我只想处理传入连接。
作为 Windows 开发的新手,尤其是 UWP,我不知道环回限制。目前,为了测试我的 RTSP 端口,在同一网络上的另一台计算机上使用 VLC 解决了我的上述问题。
我正在移植一些 TcpListener/TcpClient/etc 代码以在 UWP 上工作。但是,在通用 windows c# 应用程序中工作的最基本操作在 UWP 下对我来说失败了。
最基本的操作,例如等待 TcpClient 失败:
private async Task TestTcpListening()
{
Debug.WriteLine("Creating TcpListneer");
int portNumber = 8554;
TcpListener listener = new TcpListener(IPAddress.Any, portNumber);
listener.Start();
while(true)
{
Debug.WriteLine("Waiting on TcpListener to accept client");
TcpClient client = await listener.AcceptTcpClientAsync();
Debug.WriteLine(string.Format("We got a client! {0}", client));
}
}
如果我在通用 windows 控制台应用程序中 运行 这段代码,当我触发本地主机 URL 时 "We got a client" 位 运行s。如果此 运行s 在 UWP 应用程序中,它将永远等待并且调用应用程序超时。
备注:
- 我选择了 Internet(客户端和服务器)、Internet 和 Private Networks Package.appxmanifest 中的功能
- 我正在移植一个 RTSP 服务器,它作为一个通用的 windows 应用程序运行良好。因此,我使用的 URI 是 "rtsp://localhost:8554"。当构建为命令行 windows 应用程序时,将 VLC 指向该 URI 时,上述代码按预期工作。相同代码的UWP版本一直等待,VLC超时。
- 我是 Windows 的新手,所以我还不知道我不知道什么。
想法:
- 我是否需要以某种方式启用对应用程序的 "rtsp:" 协议访问?我不希望应用程序在点击 rtsp: url 时打开。我只想处理传入连接。
作为 Windows 开发的新手,尤其是 UWP,我不知道环回限制。目前,为了测试我的 RTSP 端口,在同一网络上的另一台计算机上使用 VLC 解决了我的上述问题。