如何使用 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 的输入表情符号?