Ⅰ c语言可以在linux下执行吗
c语言可以在linux下执行。
Linux下使用最广泛的C/C++编译器是GCC,大多数的Linux发行版本都默认安装,不管是开发人员还是初学者,一般都将GCC作为Linux下首选的编译工具。
GCC(GNU Compiler Collection,GNU编译器集合),是一套由 GNU 开发的编程语言编译器。
Ⅱ 怎样用Linux实现组播路由转发
这就要有PIM(Protocol Independent Multicast,协议无关组播组)协议的支持,就必须在Linux环境下安装Pimd软件协议包。 安装补丁文件 安装Pimd软件协议包需要两个补丁文件:pimkern-freebsd-4.6.patch和netstat-freebsd-4.6.patch。安装步骤如下: 首先将两个补丁文件拷贝到/usr/src/目录下,并执行以下命令:#patch -p2 < netstat-freebsd-4.6.patch #patch -p2 < pimkern-freebsd-4.6.patch 执行以下命令,编译并安装netstat:#cd /usr/src/usr.bin/netstat #make #make install 重新编译内核 执行以下命令,修改multi配置文件:#cd /usr/src/sys/i386/conf/ #cp GENRIC multi #vi multi 在multi配置文件中,加入下列两行代码:options MROUTING options PIM 保存并退出vi编辑器。 在当前multi配置文件所在的目录执行以下命令:#config multi #cd /usr/src/sys/compile/multi/ #make depend #make #make install 至此,新内核编译完毕。 备份Kernel文件 新内核编译完毕后,在重新启动前,要先将根目录下原有的Kernel文件进行备份。#cd / #mv kernel kernel.old 若提示“operation not permitted”,则需要先执行以下命令:#chflags noschg /kernel 备份Kernel文件后执行以下命令:#cp /usr/src/sys/compile/multi/kernel /kernel 在系统重新启动后,默认选择的便是新编译的内核。 安装Pimd软件协议包 Linux下Pimd软件协议包代码的起源有两个地方,一个是日本的KAME项目组,另一个是南加州大学信息科学学院。到这两个组织的主页上都可以下载所需要的pimd-current.tar.gz 协议包和上面提到的两个补丁。 用以下命令解压缩 pimd-current.tar.gz 软件包,并安装:#tar zxf pimd-current.tar.gz #cd pimd-2.1.0-alpha29.16 #make #make install 以上命令执行过程中可能会出现错误,需要手工将其完成,拷贝当前目录下的pimd文件:#cp pimd /usr/local/bin/ #chmod 755 pimd #cp pimd.conf /etc/ 至此,Pimd软件协议包安装完毕。还需要打开Linux系统的路由转发功能,才能实现组播包的转发,即在配置文件rc.conf中增加以下代码,重启后生效。作者:龙宇翔 苑庆国
Ⅲ 如何在linux下打开组播功能
IGMP协议运行于主机和与主机直接相连的组播路由器之间,主机通过此协议告诉本地路由器希望加入并接受某个特定组播组的信息,同时路由器通过此协议周期性地查询局域网内某个已知组的成员是否处于活动状态(即该网段是否仍有属于某个组播组的成员),实现所连网络组成员关系的收集与维护。IGMP有三个版本,IGMPv1由RFC1112定义,目前通用的是IGMPv2,由RFC2236定义。IGMPv3目前仍然是一个草案。IGMPv1中定义了基本的组成员查询和报告过程,IGMPv2在此基础上添加了组成员快速离开的机制,IGMPv3中增加的主要功能是成员可以指定接收或指定不接收某些组播源的报文。这里着重介绍IGMPv2协议的功能。
IGMPv2通过查询器选举机制为所连网段选举唯一的查询器。查询器周期性的发送普遍组查询消息进行成员关系查询;主机发送报告消息来应答查询。当要加入组播组时,主机不必等待查询消息,主动发送报告消息。当要离开组播组时,主机发送离开组消息;收到离开组消息后,查询器发送特定组查询消息来确定是否所有组成员都已离开。
通过上述IGMP机制,在组播路由器里建立起一张表,其中包含路由器的各个端口以及在端口所对应的子网上都有哪些组的成员。当路由器接收到某个组G的数据报文后,只向那些有G的成员的端口上转发数据报文。至于数据报文在路由器之间如何转发则由路由协议决定,IGM
Ⅳ linux的程序收不到组播数据,但用tcpmp却可以收到 我也遇到这个问题
组播接收,看你服务器的路由表,是不是没有做该网卡的该组播源地址的路由,如果没有做的话,虽然网口能够抓取数据但是程序是接收不到数据的
Ⅳ 如何实现Linux下的VLC的组播控制
vlc 命令行就能控制播放,你写个程序运行这些命令就行了。
我记得 vlc 也有这种控制软件,你可以找找。
Ⅵ linux下配置多网卡组播地址,能正常使用,但重启后显示“no such device”,是什么原因该怎么解决
因为你用route命令添加的路由表不会保存到一次重启,虽然你查看得到,你可以写到启动脚本里去。
编辑/etc/init.d/network,在未尾加上下面几行:
# Add non interface-specific static-routes.
if [ -f /etc/sysconfig/static-routes ]; then
grep "^any" /etc/sysconfig/static-routes | while read ignore args ; do
/sbin/route add -$args
done
fi
编辑/etc/sysconfig/static-routes:
any net 224.0.0.101 netmask 255.255.255.255 dev eth0
any net 224.0.0.110 netmask 255.255.255.255 dev eth1
any net 244.0.0.111 netmask 255.255.255.255 dev eth3
any net 244.14.0.112 netmask 255.255.255.255 dev eth2
Ⅶ linux上,组播包已经到了机器,抓包可见,但应用层收不到,为什么
估计会话层 表示层 应用层有问题,当然我是瞎猜。