如何使用 Messenger 示例连接两台机器?

Posted

技术标签:

【中文标题】如何使用 Messenger 示例连接两台机器?【英文标题】:How to connect two machines using the Messenger example? 【发布时间】:2019-11-03 01:57:06 【问题描述】:

我一直在尝试连接两台机器:都是虚拟机,一台是 Xubuntu,另一台是 Ubuntu。我对 OpenDDS 也很陌生,但最好的方法 - 或者看起来 - 是使用 .ini 文件。 但是,当我尝试连接时,我似乎无法更改发现服务器,因为默认值为 localhost:12345。有人可以帮助我,以便我可以正确配置文件吗?

我尝试过使用 dds_udp_conf.ini 和 tcp 之一,但它似乎不起作用。 另外,我尝试使用单播,但失败了。

ini 文件:

[常见]

DCPSDebugLevel=0

DCPSInfoRepo=corbaloc::localhost::12345/DCPSInfoRepo

DCPSGlobalTransportConfig=config1

[配置/配置1]

运输=udp1

[传输/udp1]

transport_type=udp

我使用以下语法: ./publisher -DCPSConfigFile conf.ini

好吧,发布者和订阅者应该连接,但发布者发送了一些错误消息,而在另一个 VM 中没有任何反应。 我似乎失败了,因为我无法更改本地主机中的配置以进行发现。 当我尝试使用与 localhost:12345 不同的参数运行服务器时,它也总是发送错误消息。

【问题讨论】:

【参考方案1】:

如果发布者和订阅者都被告知 InfoRepo 在本地主机上运行,​​我不清楚你在哪里运行 InfoRepo。无论如何,我都会推荐使用 RTPS 发现和传输。它很容易设置,因为参与者可以通过网络的多播找到彼此而无需 InfoRepo。此配置是将 RTPS 与 OpenDDS 一起使用的最简单方法:

[common]
DCPSDefaultDiscovery=DEFAULT_RTPS
DCPSGlobalTransportConfig=$file

[transport/the_rtps_transport]
transport_type=rtps_udp

只要把这个给两个程序,它们就会找到彼此。如果不是,则意味着您的虚拟机上的网络设置方式可能有问题。

【讨论】:

嗨!正如你所说,使用 InfoRepo 还不清楚,所以我尝试使用 RTPS Discovery,它成功了!感谢您的帮助!

以上是关于如何使用 Messenger 示例连接两台机器?的主要内容,如果未能解决你的问题,请参考以下文章

Facebook Messenger 聊天机器人显示“检查您的连接并重试”。

如何检查和编码来自 Facebook Messenger 的输入表情符号?

两台在不同地点的机器如何连接共享文件最快

如何在两台机器上设置光纤网络v2?

如何在后台监听firebase实时数据库更新事件并使用颤振自动启动应用程序(如Messenger中的调用功能)?

Facebook Messenger 如何与 Wit.ai Bot Engine 连接?