Linux、windows组播通信所遇坑集合

windos系统

虚拟网卡/多网卡导致的组播不通

很多搞代码的童鞋,会在windows上安装虚拟机捣鼓各种Linux神技。很长一段时间,爽并舒服着,突然有一天蛋疼的问题找上门了:写的组播程序怎么也通不了,程序检查了一遍又一遍,头发抓掉一把又一把,还是没发现任何问题,突然灵光一现,借助网络调试工具吧,可惜然并卵,不通还是不通。码友,不用愁了,请看过来!

问题诊断

按下Win+R,运行中输入cmd,再Dos窗口中输入命令:

netsh interface ipv4 show joins

查看哪张网卡加入了你需要的组播地址,示例如下图所示:
在这里插入图片描述
上图中如228.88.88.88是我程序加入的组播,如果在你想要的物理网卡上,通信一般没问题,如果出现在虚拟网卡上,恭喜你中奖了。

解决方案

1、禁用多余网卡
2、在创建socket时,绑定一个物理网卡上的IP地址

网卡双网段导致的组播不通

如果网卡和组播地址关联无问题,仍然不通,可能就是由于此问题导致的

解决方案

  1. 简单粗暴的方法,在IPv4高级TCP/IP设置中,去掉不需要的IP
    在这里插入图片描述
  2. 实在需要两个网段组播互通,技术手段设置
    备注:仅供参考,未经验证
    A、通过网关,进行路由,在网关路由器(可以是同一台,甚至一个网口做子接口;也可以是2台路由器)上增加这2个网段的路由【家用路由器就不要考虑了】
    ip router 0.0.0.0 0.0.0.0 192.168.1.1(假设其中一个网段为192.168.1.x)
    ip router 0.0.0.0 0.0.0.0 192.168.2.1
    B、修改掩码,使2个网段变成一个网段
    原来是192.168.1.1/255.255.255.0,改为255.255.0.0

Linux 系统

未增加路由导致组播不通

问题诊断

在终端中,输入route查看当前路由表,如下图所示:
在这里插入图片描述
如果没有相应路由,应该就是此问题导致。

解决方案

增加相应路由
route add -net 224.0.0.0 netmask 240.0.0.0 ${netcardName}

虚拟网卡/多网卡导致的组播不通

问题诊断

终端输入命令netstat -g,查看网卡加入的组播,如下图所示:
在这里插入图片描述

解决方案

1、禁用多余网卡
2、在创建socket时,绑定一个物理网卡上的IP地址

  • 8
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
Linux是一种开源操作系统,它有很多常用的单词和术语。以下是其中一些常见的词汇解释: 1. 内核(Kernel):Linux操作系统的核心部分,负责控制硬件和软件之间的交互。 2. 发行版(Distribution):基于Linux内核的操作系统的各种版本,如Ubuntu、Fedora和Debian等。 3. 终端(Terminal):用户与操作系统进行交互的窗口,可以通过命令行界面执行各种操作。 4. 命令(Command):在终端中输入的指令,用于执行特定的操作或运行程序。 5. 目录(Directory):用于组织和存储文件的文件夹,类似于Windows中的文件夹。 6. 文件(File):存储数据的基本单位,在Linux中可以是文本文件、可执行文件、目录等。 7. 权限(Permission):用于控制对文件和目录的访问权限,包括读取、写入和执行权限等。 8. 用户(User):使用Linux系统的个体,每个用户可以拥有自己的用户账户和配置文件。 9. 守护进程(Daemon):在Linux后台运行的程序,它们通常在系统启动时启动,并在整个系统运行过程中保持运行状态。 10. 管道(Pipeline):用于将一个命令的输出作为另一个命令的输入的特殊字符(|)。 11. 软件包(Package):一组相关的软件程序和文件的集合,可以通过包管理器来安装、更新和卸载。 12. Shell:一个命令行解释器或界面,用户可以通过它与操作系统进行交互。 13. HTTP(Hypertext Transfer Protocol):一种用于在计算机网络上传输超文本的协议,常用于Web浏览器和服务器之间的通信。 14. IP地址(Internet Protocol Address):用于在因特网上唯一标识设备的数字地址。 15. DNS(Domain Name System):将域名转换为对应IP地址的系统,使得用户可以通过易记的域名访问网站。 以上是一些常见的Linux单词和术语,它们涵盖了操作系统、文件系统、命令行操作和网络通信等方面。熟悉这些词汇对于理解和使用Linux系统非常重要。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值