Windows runtime 为什么不从WinRT应用程序(在StreamSocket上)连接到win32应用程序(在QTcpSocket上)

Windows runtime 为什么不从WinRT应用程序(在StreamSocket上)连接到win32应用程序(在QTcpSocket上),windows-runtime,Windows Runtime,我正在开发一个Windows 8.1聊天客户端应用程序,其中包含metro应用程序和win32桌面。Tcp套接字上未从winrt应用程序连接到win32应用程序时出现问题-连接异常失败,错误为未从其他计算机回复。有什么问题吗 我正在现场测试mashine: void Connector::ConnectSocketTsp(void) { socket = ref new StreamSocket(); rootPage->NotifyUser("Connecting to

我正在开发一个Windows 8.1聊天客户端应用程序,其中包含metro应用程序和win32桌面。Tcp套接字上未从winrt应用程序连接到win32应用程序时出现问题-连接异常失败,错误为未从其他计算机回复。有什么问题吗

我正在现场测试mashine:

void Connector::ConnectSocketTsp(void)
{
    socket = ref new StreamSocket();

    rootPage->NotifyUser("Connecting to ...", NotifyType::StatusMessage);

    {
        HostName^ serverHost = ref new HostName("127.0.0.1");   //("localhost");
        // Connect...
        create_task(socket->ConnectAsync(
            serverHost, "15500", SocketProtectionLevel::PlainSocket)).then([this](task<void> previousTask)
        {
            try
            {
                previousTask.get();
                rootPage->NotifyUser("Connected", NotifyType::StatusMessage);

                m_reader = ref new DataReader(socket->InputStream);
                m_reader->InputStreamOptions = InputStreamOptions::ReadAhead;
                m_writer = ref new DataWriter(socket->OutputStream);

                ReceiveStringLoop(m_reader, socket);

            }
            catch (Exception^ exception)
            {
                rootPage->NotifyUser("Connect failed with error: " + exception->Message, NotifyType::ErrorMessage);
            }
        });
    }
}

Telnet成功连接到127.0.0.1 15500…

默认情况下,Windows应用商店应用程序被阻止连接到同一台计算机上的其他应用程序

在调试过程中可以抑制此块,或者(从Windows 8.1更新开始)对于侧加载的应用程序可以绕过此块(chue x的链接和“无法完成”注释对于Windows 8为真,但现在已过时)

对于通过应用商店部署的应用程序,没有可认证的回环方法


请参阅和

默认情况下,禁止Windows应用商店应用连接到同一台计算机上的其他应用

在调试过程中可以抑制此块,或者(从Windows 8.1更新开始)对于侧加载的应用程序可以绕过此块(chue x的链接和“无法完成”注释对于Windows 8为真,但现在已过时)

对于通过应用商店部署的应用程序,没有可认证的回环方法


请参阅和

默认情况下,禁止Windows应用商店应用连接到同一台计算机上的其他应用

在调试过程中可以抑制此块,或者(从Windows 8.1更新开始)对于侧加载的应用程序可以绕过此块(chue x的链接和“无法完成”注释对于Windows 8为真,但现在已过时)

对于通过应用商店部署的应用程序,没有可认证的回环方法


请参阅和

默认情况下,禁止Windows应用商店应用连接到同一台计算机上的其他应用

在调试过程中可以抑制此块,或者(从Windows 8.1更新开始)对于侧加载的应用程序可以绕过此块(chue x的链接和“无法完成”注释对于Windows 8为真,但现在已过时)

对于通过应用商店部署的应用程序,没有可认证的回环方法



请参阅和

请添加一些您看到此连接异常的代码。另外,请在您尝试连接的端口上执行telnet,以验证您尝试连接的套接字是否实际打开。可能是另一台计算机上的服务已关闭。可能是防火墙阻塞?我将投票关闭,作为以下内容的副本,但我已投票关闭,原因不同。请参阅以下可能的DUP:1,二,。我应该补充一点,您的问题是Windows应用商店应用程序被限制连接到本地主机。上面的两个链接都表示“无法完成”,但第一个链接提供了一些不受支持的解决方法。请添加一些您看到此连接异常的代码。另外,请在您尝试连接的端口上执行telnet,以验证您尝试连接的套接字是否实际打开。可能是另一台计算机上的服务已关闭。可能是防火墙阻塞?我将投票关闭,作为以下内容的副本,但我已投票关闭,原因不同。请参阅以下可能的DUP:1,二,。我应该补充一点,您的问题是Windows应用商店应用程序被限制连接到本地主机。上面的两个链接都表示“无法完成”,但第一个链接提供了一些不受支持的解决方法。请添加一些您看到此连接异常的代码。另外,请在您尝试连接的端口上执行telnet,以验证您尝试连接的套接字是否实际打开。可能是另一台计算机上的服务已关闭。可能是防火墙阻塞?我将投票关闭,作为以下内容的副本,但我已投票关闭,原因不同。请参阅以下可能的DUP:1,二,。我应该补充一点,您的问题是Windows应用商店应用程序被限制连接到本地主机。上面的两个链接都表示“无法完成”,但第一个链接提供了一些不受支持的解决方法。请添加一些您看到此连接异常的代码。另外,请在您尝试连接的端口上执行telnet,以验证您尝试连接的套接字是否实际打开。可能是另一台计算机上的服务已关闭。可能是防火墙阻塞?我将投票关闭,作为以下内容的副本,但我已投票关闭,原因不同。请参阅以下可能的DUP:1,二,。我应该补充一点,您的问题是Windows应用商店应用程序被限制连接到本地主机。上面的两个链接都说“无法完成”,但第一个链接提供了一些不受支持的解决方法。有趣的信息!在阅读MSDN时,我不知何故错过了侧装应用程序的限制旁路。有趣的信息!在阅读MSDN时,我不知何故错过了侧装应用程序的限制旁路。有趣的信息!在阅读MSDN时,我不知何故错过了侧装应用程序的限制旁路。有趣的信息!在阅读MSDN时,我不知何故错过了侧装应用程序的限制旁路。
void start()
{
    logMessage(QString("Start service"), QtServiceBase::Information);

    QCoreApplication *app = application();

    daemon = new ClientSocket(15500, app);

    if ( !daemon->listen(QHostAddress::LocalHost, 15500) )      // QHostAddress::Any
        logMessage(QString("Failed to bind to port %1").arg(daemon->serverPort()), QtServiceBase::Error);       
    else
        logMessage(QString("Success to bind to port %1").arg(daemon->serverPort()), QtServiceBase::Information);

    if ( !daemon->isListening() )
    {
        logMessage(QString("Failed to bind to port %1").arg(daemon->serverPort()), QtServiceBase::Error);
        app->quit();
    }   
}