【问题标题】:QtRO - class qremoteobjects - how can connect 2 and more remote peers beetwen TCPQtRO - q 类远程对象 - 如何在 TCP 之间连接 2 个或更多远程对等方
【发布时间】:2017-10-11 23:50:02
【问题描述】:

我在 Qt5.9 中使用注册表节点构建示例 simpleswitch。它工作正常,但是当我在定义中替换 QUrl("local.registry")QUrl("local.replica")QRemoteObjectHostQUrl("tcp://localhost:9999")"tcp://127.0.0.1:9999",或粘贴当前主机地址到defniton...运行应用程序后出现错误...

qt.remoteobjects:监听 URL 失败:QUrl("tcp://127.0.0.1:9999")

qt.remoteobjects: QAbstractSocket::AddressInUseError

qt.remoteobjects:无法为客户端创建 ClientIoDevice。提供的网址/方案无效? QUrl("")

【问题讨论】:

    标签: c++ qt sockets tcp qurl


    【解决方案1】:

    有效值,用QUrl("local.registry")代替:

    QUrl("tcp://192.168.0.3:-1");
    

    有效值,用QUrl("local.replica")代替:

    QUrl("tcp://192.168.0.3:9999");
    

    IP 地址192.168.0.3 - 例如(它的值对我们办公网络中的我的工作站有效)在您的情况下 IP 地址可以包含其他数字。

    【讨论】:

      【解决方案2】:

      如果 Qt 指示“地址正在使用中”,那么这很可能是问题的根源,实际上是在使用 IP:PORT 处的套接字。你可以检查你的开发环境,看看你是否有多个进程在运行同一个应用程序——这通常是这种情况,它会导致地址空间的冲突。我们在我们的环境中一直看到这个错误,根本原因很简单:“地址正在使用中”。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-11-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-05-21
        • 1970-01-01
        相关资源
        最近更新 更多