4020组播的探讨 晕死了,刚才发的一篇文章没了,csdn太挫了,好不容易自己写了一篇提交上去没反应了。 最近在测试sep4020的网络,由于以前在移植4020的网卡驱动很多还不是太懂其中的组播部分有很大一段,但也是直接仿照别人的驱动直接移植上去的,最近想测试下4020的组播是否支持,于是上网找了几篇文章看了下,然后开始设置。(1)首先当然是让linux内核支持组播协议了,在menuconfig中的网络协
网络编程常用函数集 inet_ntoa() 简述: 将网络地址转换成“.”点隔的字符串格式。 #include char FAR* PASCAL FAR inet_ntoa( struct in_addr in); in:一个表示Internet主机地址的结构。 注释: 本函数将一个用in参数所表示的Internet地址结构转换成以“.” 间隔的诸如“a.b.c.d”的字符串形式。请注意inet_
组播协议 一、组播协议的要素 通过和广播,单播的数据传输方式的比较,我们可以发现组播中最关键的两个部分:1. 组的管理和维护在组播这套协议中,在网络设备和所连接的子网需要有一套协议或机制来保证网络设备知道所连接的子网中,有多少台主机属于一个特定的组。2. 组播报文的路由要组播路由协议有什么用?(1)是发现上游接口,离源最近的接口。因为组播路由协议只关心到源的最短路径。(2)通过(
广播 组播 单播 广播: 主机之间一对所有的通讯模式,网络对其中每一台主机发出的信号都进行无条件复制并转发,所有主机都可以接收到所有信息(不管你是否需要),由于其不用路径选择,所以其网络成本可以很低廉。有线电视网就是典型的广播型网络,我们的电视机实际上是接受到所有频道的信号,但只将一个频道的信号还原成画面。在数据网络中也允许广播的存在,但其被限制在二层交换机的局域网范围内,禁止广播数据穿过路由器,防止广播数据影响大
extern,头文件和ifndif宏 用#include可以包含其他头文件中变量、函数的声明,为什么还要extern关键字,如果我想引用一个全局变量或函数a,我只要直接在源文件中包含#include (xxx.h包含了a的声明)不就可以了么,为什么还要用extern呢??这个问题一直也是似是而非的困扰着我许多年了,今天上网狠狠查了一下总算小有所获了:头文件首先说下头文件,其实头文件对计算机而言没什么作用,她只是在预编译时在#i
time命令特殊用法 linux time 命令详解使用方式: time [options] COMMAND [arguments]说明: time 指令的用途,在于量测特定指令执行时所需消耗的时间及系统资源等资讯。例如 CPU 时间、记忆体、输入输出等等。需要特别注意的是,部分资讯在 Linux 上显示不出来。这是因为在 Linux 上部分资源的分配函式与 time 指令所预设的方式并不相同,以致于 ti
busybox1.10.4制作文件系统 1)创建根文件系统的基本目录结构。我把这个过程做成了shell脚本(文件名为mkroot) ,很方便! #! /bin/sh echo "creatint rootfs dir......" mkdir rootfs cd rootfs echo "making dir : bin dev etc lib proc sbin sys usr"
Linux shell脚本编写基础 在进行linux测试时编写脚本是必不可少的,Shell脚本的名称可以随便定义,也不要什么后缀名,例如可以写abc,smartzip这类名称,运行时只要键入./smartzip就能运行脚本了。。每行命令开头处不用就空格也行。。 第1部分. Linux 脚本编写基础1.1 语法基本介绍1.1.1 开头程序必须以下面的行开始(必须方在文件的第一行):#!/bin/sh
shell脚本中一些特殊符号 1、{} 大括号:用法一:通配符扩展 eg: ls my_{finger,toe}s这条命令相当于如下命令的组合:ls my_fingers my_toeseg: mkdir {userA,userB,userC}-{home,bin,data}我们将得到 userA-home, userA-bin, userA-data, userB-home, userB-bin,userB-data,use
Linux Shell : Test命令参数解析 格式: test conditionstest -n string : string 不为空 test -z string : string 为空test int1 -eq int2 : int1 == int 2test int1 -ne int2 : int1 != int2 test int1 -gt int2 : int1 > int2 test int1 -ge int2
Sed学习笔记 Copyright © 2004,2005, 本文遵从GNU 的自由文档许可证(Free Document License)的条款,欢迎转载、修改、散布。Table of Contents1. Sed简介 2. 定址 3. Sed命令 4. 选项 5. 元字符集 6. 实例 7. 脚本 8. 小技巧1. Sed简介sed是一种在线编辑器,它一次处理一
A zone is low on free memory--Linux下内存释放问题 最近在进行4020的SD卡测试时发现,如果长时间进行文件读写操作很容易出现如下提示:A zone is low on free memory!!上网查了下linux的内存和块设备的高速缓存问题,发现linux这块还真有文章:经常弄arm-linux的人们会注意到,当我们在Linux下频繁存取文件后,物理内存会很快被用光,当程序结束后,内存不会被正常释放,而是一直作为caching.
implicit declaration of function 这种警告问题的原因及解决方法 最近在改进SD卡的SEP4020驱动时,在改掉所有的warning时老报一个implicit declaration of function 的警告错误,上网查了下原因,原来有两种情况会产生这种情况1 没有把函数所在的c文件生成.o目标文件2 在函数所在的c文件中定义了,但是没有在与之相关联的.h文件中声明[root@mail linux]# make CHK include
autoconf 的使用详解(2) 每个configure.scan文件都是以AC_INIT开头,以AC_OUTPUT结束。我们不难从文件中看出confiugre.in文件的一般布局:AC_INIT测试程序测试函数库测试头文件测试类型定义测试结构测试编译器特性测试库函数测试系统调用AC_OUTPUT上面的调用次序只是建议性质的,但我们还是强烈建议不要随意改变对宏调用的次序。 现在就开始修改该文件:$mv co
autoconf 的使用详解(1) 最近在编译yabasic时老在configure时老过不过去,很受打击,于是决定学习下这个autoconf的过程,网上看了些资料,再找个simple代码改下,在linux下编译出来,有了初步的结果,现在链接这块还有不少问题。 引子 无论是在Linux还是在Unix环境中,make都是一个非常重要的编译命令。不管是自己进行项目开发还是安装应用软件,我们都经常要用到make或 make
fedora 7 下卸载软件 Linux 中如何卸载已安装的软件. Linux软件的安装和卸载一直是困扰许多新用户的难题。在Windows中,我们可以使用软件自带的安装卸载程序或在控制面板中的“添加/删除程序” 来实现。与其相类似,在Linux下有一个功能强大的软件安装卸载工具,名为RPM。它可以用来建立、安装、查询、更新、卸载软件。该工具是在命令行下使用的。在Shell的提示符后输入rpm,就可获得该命令的帮助信
Linux任务切换代码(switch_to)详解 Copyright 2009 (c) benzus以下代码来自Linux-1.0内核 include/linux/sched.h 文件。(注意到Linux 0.11版的内核基本上也同样是这段代码,所以本文也同样适用于0.11内核)01 #define switch_to(n) { / 02 struct (long a,b;} __tmp; / 03 __asm__("cm