QtRO - 类 qremoteobjects - 如何连接 2 个和更多远程对等体 beetwen TCP

QtRO - class qremoteobjects - how can connect 2 and more remote peers beetwen TCP

本文关键字:程对等 多远 对等 TCP beetwen qremoteobjects 何连接 QtRO 连接      更新时间:2023-10-16

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

qt.remoteobjects: Listen failed for URL: QUrl("tcp://127.0.0.1:9999")

qt.remoteobjects: QAbstractSocket::AddressInUseError

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

有效值,使用 代替 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地址可以包含其他数字。

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