Welcome 微信登录
编程资源 图片资源库 蚂蚁家优选 PDF转换器 软件资源

软件开发小程序制作系统集成与运维空间租用硬件开发视频监控技术咨询与支持——联系电话:0311-88999002/88999003

首页 / 操作系统 / Linux

Linux内核--网络内核实现分析(一)--与sk_buff有关的几个重要的数据结构

Linux内核--网络内核实现分析(一)--与sk_buff有关的几个重要的数据结构

本文分析基于Linux Kernel 3.2.1几个月之前做了关于Linux内核版本1.2.13网络栈的结构框架分析并实现了基于Netfilter的包过滤防火墙,这里以内核3.2.1内核为例来进一步分析,更全面的分析网络栈的结构。更多请查看 Linux内核--网络内核实现分析1、先说一下sk_buff结构体这个结构体是套接字的缓冲区,详细记录了一个数据包的组成,时间、网络设备、各层的首部及首部长度和数据的首尾指针。下面是他的定义,挺长structsk_bu...
Android中path的arcTo方法的使用

Android中path的arcTo方法的使用

该方法的声明为:void Android.graphics.Path.arcTo(RectF oval, float startAngle, float sweepAngle);该方法是画一个弧线的路径.第一个参数是一个RectF类型.这个参数是干嘛的呢?先说一下,这个弧线是怎么来的?是先画一个椭圆,然后再在这个椭圆上面截取一部分部形。这个图形自然就是一个弧线了。那么这个椭圆是怎么确定的呢?这就是这个rectF参数所起的作用了。如图所示:给出这个矩形后,系...
Linux Android Fragment 中创建onCreateOptionsMenu

Linux Android Fragment 中创建onCreateOptionsMenu

Fragment通过实现onCreateOptionsMenu()方法给Activity的可选菜单(包括动作栏)提供菜单项,但是为了这个方法能够接受调用,必须在onCreate()方法中调用setHasOptionsMenu()方法来指示这个Fragment应该作为可选菜单的添加项(否则,这个Fragment不接受对onCreateOptionsMenu()方法的调用)。 然后,你把来自Fragment的要添加到可选菜单中项目追加到既存的菜单中。当菜单项被...
Android SurfaceView实现人物动画

Android SurfaceView实现人物动画

经常看到别人的游戏中有人物跑动的效果,对这个东西很好奇,刚好群里上传了“忍者突袭”的代码,我看了里面的代码,但对画人物那段还是没咋弄,所以自己写一个测试程序,程序中使用到的图片资源是来自“忍者突袭”的代码,真心的感谢写“忍者突袭”代码的人~~人物角色使用的图片如下:在画人物角色时会对这张图片进行剪切,使用的函数是mCanvas.clipRect(mClipRect);绘制人物角色的思想是使用mCanvas.clipRect(mClipRect);函数来设置...
PopupWindow中显示ListView时自适配窗口大小

PopupWindow中显示ListView时自适配窗口大小

在使用PopupWindow的时候,有一个不好的地方就是不太好设置弹出窗体的大小。如果指定绝对大小,那么对于不同分辨率不同尺寸的手机来说,显示出来效果会不同,从而导致用户体验不佳。为了达到PopupWindow能够自适配布局大小,可以在设置长宽时候指定:popupWindow.setWidth(LayoutParams.WRAP_CONTENT); popupWindow.setHeight(LayoutParams.WRAP_CONTENT);下面我就来...
Java网络编程深入之TCP协议编程

Java网络编程深入之TCP协议编程

我们知道,TCP编程虽然在传输速度上不及UDP编程,但是,使用TCP编程可以保证数据在传输时的稳定性,而且TCP是建立在连接的基础之上的,因此,学习TCP编程,在网络编程中是十分重要的。那么,我们要了解TCP编程,就必须了解TCP协议编程在Java高级编程中的应用以及我们应当如何实现TCP协议编程。同UDP协议编程一样,使用TCP协义编程,也是要在两个端口上实现的。不过在UDP中我们称作是发送端和接收端,而在TCP中我们称作是服务端和客户端。相同的是,在实...
Java编程高级之Java网络编程知识基础

Java编程高级之Java网络编程知识基础

Java是一种平台无关的编程语言,具有“一次编写、到处运行”的特点,所以非常适合网络编程。可以这样说,在网络编程方面没有任何一门语言比Java更优秀。要学习Java网络编程,就必须要对相关的网络知识有一定的了解,下面对于网络的一些基础知识进行简单的叙述。网络基本概念计算机网络:计算机网络,就是把分布在不同地理区域的计算机与专门的外部设备用通信线路互连成一个规模大、功能强的网络系统,从而使众多的计算机可以方便地互相传递信息,共享硬件、软件、数据信息等资源。网...
Java编程高级之UDP协议编程在Java中的体现

Java编程高级之UDP协议编程在Java中的体现

要实现UDP协议编程就要知道什么是UDP协议、我们为什么要使用UDP协议编程以及在Java中是如何实现UDP编程的,这些都是值得我们思考的。所谓的UDP( User Datagram Protocol )协议指的是用户数据报,在网络中它与TCP协议一样用于处理数据包。在OSI模型中,在第四层——传输层,处于IP协议的上一层。UDP是一种无连接的协议,每个数据报都是一个独立的信息,包括完整的源或目的地址,它在网络上以任何可能的路径传往目的地,因此能否到达目的...
Linux 进程调度

Linux 进程调度

参考Robert love的著作:2.6内核版本以后的linux实现了抢占式内核,实现了内核抢占。进程调度顺序:1. 实时进程 > 非实时进程2. 实时进程之间,比较实时优先级,0到99,越大越高。3. 实时优先级相同的实时进程之间,根据调度策略来执行。分FIFO和RR两种。 1)其中RR方式,是轮询的,在3.5.3内核版本中,rt_sched_class中task_tick的RR_TIMESLICE为100ms。当RR时间片超时后,进程被放到“实时...
Linux内核--网络协议栈深入分析(二)--sk_buff的操作函数

Linux内核--网络协议栈深入分析(二)--sk_buff的操作函数

本文分析基于Linux Kernel 3.2.1更多请查看 Linux内核--网络内核实现分析1、alloc_skb()函数该函数的作用是在上层协议要发送数据包的时候或网络设备准备接收数据包的时候会调用alloc_skb()函数分配sk_buff结构体,需要释放时调用kfree_skb()函数。staticinlinestructsk_buff*alloc_skb(unsignedintsize, gfp_tpriority) { return__allo...
《APUE》:打印线程ID

《APUE》:打印线程ID

《Unix环境高级编程》这本书附带了许多短小精美的小程序,我在阅读此书的时候,将书上的代码按照自己的理解重写了一遍(大部分是抄书上的),加深一下自己的理解(纯看书太困了,呵呵)。此例子在Ubuntu 10.04上测试通过。相关链接《UNIX环境高级编程》(第二版)apue.h的错误 http://www.linuxidc.com/Linux/2011-04/34662.htm Unix环境高级编程 源代码地址 http://www.linuxidc.com...
《APUE》:线程清理处理程序

《APUE》:线程清理处理程序

《Unix环境高级编程》这本书附带了许多短小精美的小程序,我在阅读此书的时候,将书上的代码按照自己的理解重写了一遍(大部分是抄书上的),加深一下自己的理解(纯看书太困了,呵呵)。此例子在Ubuntu 10.04上测试通过。相关链接《UNIX环境高级编程》(第二版)apue.h的错误 http://www.linuxidc.com/Linux/2011-04/34662.htm Unix环境高级编程 源代码地址 http://www.linuxidc.com...
搭建一个mini2440开发板U-Boot的框架

搭建一个mini2440开发板U-Boot的框架

一、移植环境主 机:Ubuntu 开发板:友善之臂mini2440 编译器:arm-linux-gcc-4.3.2 u-boot:u-boot-2009.03.tar.bz2二、移植步骤目前u-boot对很多CPU直接支持,可以查看board目录的一些子目录,如:board/samsung/目录下就是对三星一些ARM处理器的支持,有smdk2400、smdk2410和smdk6400,但没有2440,所以我们就在这里建立自己的开发板项目。1)因2440和2...
<< 3441 3442 3443 3444 3445 3446 3447 3448 3449 3450 >>