【问题标题】:LCM UDP Message Through Shared Network通过共享网络的 LCM UDP 消息
【发布时间】:2017-03-01 23:06:41
【问题描述】:

伙计们,

我有一台通过无线 (wlan0) 连接到 Internet 的 Ubuntu 机器,我将这个连接共享到我的以太网端口 (eth1)。然后,我将这个以太网端口连接到一个交换机,并将两台 Windows 机器连接到同一个交换机。所以两台windows机器都有一个来自局域网的静态IP,这个IP是从wlan0到eth1的路由生成的,这样我就可以同时与所有3台计算机通信(这很有效,因为我可以ssh和远程访问所有3台计算机)。

我的问题是当我在我的 Windows PC 上运行我的 LCM 程序(TTL = 1)时,我无法在我的 Ubuntu 机器上接收到消息(这意味着消息应该通过以太网)。在无线网络运行时,如何确保 UDP 消息可以从 Windows 机器路由回我的 Ubuntu 机器?

【问题讨论】:

  • 路由器(你的 Linux 机器正在路由)将丢弃一个 TTL 为 1 的数据包。它接收数据包,递减 TTL,变成 0,然后因为 TTL 过期而丢弃它。

标签: networking udp share ttl lcm-data-marshalling


【解决方案1】:

这是我解决问题的方法(就在 LCM 网站上):

sudo ifconfig eth1 multicast
sudo route add -net 224.0.0.0 netmask 240.0.0.0 dev eth1

现在我所有的 UDP 数据包都只通过 eth1 路由。在此之后,我的共享网络(来自 wlan0)仍然完好无损。所以所有的电脑都可以同时上网。太棒了!

【讨论】:

  • 我现在的问题是,如何在每次重新启动 Linux 计算机时不必输入密码的情况下进行持久更改?
  • 也许您应该在正确的 SE 网站上提问,例如 Ask UbuntuUnix & Linux
  • 好吧...会这样做
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-02-15
  • 1970-01-01
  • 1970-01-01
  • 2011-01-27
  • 1970-01-01
  • 2022-12-15
相关资源
最近更新 更多