我使用以下代码在我的通用8.1应用上设置StreamSocketListener:
_listener = new StreamSocketListener();
_listener.Control.QualityOfService = SocketQualityOfService.Normal;
_listener.ConnectionReceived += OnConnectionReceived;
await _listener.BindServiceNameAsync("8776");
这没有任何问题,但是当我尝试&浏览到http://localhost:8776
(或直接通过IP地址或机器名称),请求超时。
在netstat中我可以看到8776端口是开放的&听,我启用了环回免除功能,禁用了我的防火墙,但我还是无法连接。对于Windows 8.1和Windows Phone 8.1应用程序都是如此。
当我尝试从另一台机器连接时,它可以正常工作。我可以使用任何设置/配置,以便能够从同一台机器连接吗?
答案 0 :(得分:3)
Windows RT阻止两个WinRT应用程序之间的环回访问。
使用IP环回地址的网络通信无法使用 Windows中的进程间通信(在两个不同的应用程序之间) 运行时应用程序,因为这受到网络隔离的限制。网络 应用程序中允许使用IP环回地址进行通信 在同一过程中进行沟通。
更多信息和解决方法here