自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(23)
  • 收藏
  • 关注

转载 Android系统SVC命令教程

svc命令,位置在/system/bin目录下,用来管理电源控制,无线数据,WIFI?1234567891011121314151617181920212223242526272829303132# svcsvcAvai

2014-04-25 20:32:02 933

转载 二层转发流程 (linux网络子系统学习 第六节 )

做为网络设备,二层转发是最基本的功能。要想继续学习linux 内核协议栈,必须明白二层转发的流程。这篇文章举例讲一讲二层转发的流程。二层转发是根据报文的目的MAC直接进行转发,转发过程中不用对报文的头部做任何的修改。三层转发则是根据报文的ip 地址来进行转发,并且要对报文的二层头部进行相应的修改。进行二层转发的设备一般叫做网桥(b

2014-04-18 11:40:47 3565

转载 Git diff ^M的消除

原文:http://blog.csdn.net/csfreebird/article/details/10448493这是由于换行符在不同的操作系统上定义的区别造成的。Windows用CR LF来定义换行,Linux用LF。CR全称是Carriage Return ,或者表示为\r, 意思是回车。 LF全称是Line Feed,它才是真正意义上的换行表示符。为什么Windows

2014-04-17 11:07:06 834

转载 Ubuntu 12.04 下安装MySQL 5.5.25

ubuntu 12.04下安装mysql 5.5.25

2014-04-14 18:03:52 498

原创 socket编程(四)

client端向server端发送文件。为

2014-04-14 16:26:52 552

原创 从内核向控制台输出字符串

#include #include #include static int __init tty_write_init(void){ char *str = "hello world! this is from kernel"; struct tty_struct *tty; tty = get_current_tty();

2014-04-11 17:29:33 753

原创 socket编程(三)

client端向server端发送文件。加入了多线程处理。编译server端代码时,需要加入普通话日

2014-04-11 14:05:15 711

原创 socket编程(二)

client端向server端发送文件。server:#include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std;int m

2014-04-11 14:01:44 637

转载 收包软中断和netif_rx (linux网络子系统学习 第四节 )

初始化报文接收软中断static int __init net_dev_init(void){ ...... open_softirq(NET_RX_SOFTIRQ, net_rx_action); ......}报文接收软中断的处理函数net_rx_action详解:static void net_rx_action(struct softir

2014-04-11 13:53:59 2133

原创 报文接收方式【总结】

报文接收步骤:一、旧的接收过程1、当网卡中断产生后,内核的中断处理部分会根据网卡驱动注册的中断号找到相应网卡驱动中的中断处理函数。2、中断处理函数首先禁用网卡的接收报文中断。3、接着负责在内存中申请一个skb,把网卡硬件缓存中的报文拷贝到skb中。初始化skb的一些字段,根据报文内容给skb->protocol字段赋值,例如ip报文会赋为0x0800。4、接着调用netif

2014-04-09 11:09:11 4629

转载 C++中的虚函数(virtual function)

1.简介     虚函数是C++中用于实现多态(polymorphism)的机制。核心理念就是通过基类访问派生类定义的函数。假设我们有下面的类层次:class A{public:    virtual void foo() { cout };class B: public A{public:    virtual void foo() { cout

2014-04-08 22:33:58 481

转载 Linux下获取文件大小的方法

前几天在工作中需要写一段代码,获取一些视频文件的大小,心想:这还不简单吗?直接用标准C 的文件操作函数就OK了。于是写了下面的一段代码来实现:unsigned long get_file_size(const char *filename){unsigned long size;FILE* fp = fopen( filename, "rb" );if(fp==NULL)

2014-04-08 17:46:32 463

原创 socket编程(一)

基本的socket编程。server:#include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std;int main(int ar

2014-04-08 17:15:22 617

原创 C++如何输入含有空格字符的字符串

http://blog.163.com/wenxianliang08@126/blog/static/835832632010724195686

2014-04-08 16:55:03 2274

转载 bind出现Address already in use解决方法

每次修改了源代码并再次编译运行时,常遇到下面的地使用错误:Cann't bind server socket !: Address already in use虽然用Ctrl+C强制结束了进程,但错误依然存在,用netstat -an |grep 5120和ps aux |grep 5120都还能看到刚才用Ctrl+C“强制结束”了的进程,端口还是使用中,只好每次用kill结束进程,很

2014-04-08 16:25:15 1837

转载 Linux 套接字编程中的 5 个隐患

在 4.2 BSD UNIX® 操作系统中首次引入,Sockets API 现在是任何操作系统的标准特性。事实上,很难找到一种不支持 Sockets API 的现代语言。该 API 相当简单,但新的开发人员仍然会遇到一些常见的隐患。本文识别那些隐患并向您显示如何避开它们。隐患 1.忽略返回状态第一个隐患很明显,但它是开发新手最容易犯的一个错误。如果您忽略函数的返回状态,当它们失败或部分

2014-04-08 16:22:58 621

原创 java socket编程(一)

用socket从client端向server端传送文件。client:

2014-04-04 17:52:17 520

转载 Why do I get EOF exception while reading a datainputstream in java?

http://stackoverflow.com/questions/19286271/why-do-i-get-eof-exception-while-reading-a-datainputstream-in-java

2014-04-04 17:10:44 730

转载 设置Eclipse的workspace路径

首次启动Eclipse/MyEclipse时, 会弹出"Workspace Launcher"对话框, 提示设置Workspace路径. 设定好路径后, 若勾选了"Use this as the default and do not ask again", 那么以后再启动时就不会有提示, 直接进入默认工作空间. 有3中方法可以更改workspace的路径设置:1. 启动Eclipse/My

2014-04-02 14:46:55 533

转载 NAPI 方式的实现 (linux网络子系统学习 第三节 )

Linux内核协议栈中报文接收的设计思路:NAPI接口和旧接口两者有一下相同点:(1)、对报文的处理都应该放在软中断中处理。(2)、两者都有存储报文的队列,NAPI的队列是由网卡来管理的,旧接口的队列是由内核管理的。每个NAPI设备都有一个轮询函数来由软中断调用,来进行轮询处理报文。我们可以建立

2014-04-02 14:12:02 666

转载 报文的接收方式(linux网络子系统学习 第二节 )

报文的接收是整个协议栈的入口,负责从网卡中把报文接收并送往内核协议栈相应协议处理模块处理。报文的接收方法主要分为两种一种是网卡产生中断,通知内核进行接收报文。一次中断接收一个报文。在中断处理程序中把报文从硬件缓存中拷贝到内存中,并把报文加入到协议栈中对应的入口队列中,中断退出时调用收包软中断来从相应队列来读取报文进行处理。这种方式优点是内核对报文响应较快,在网卡上 有少量报文时效果

2014-04-02 14:11:23 1124

转载 Linux下半部——谁先运行

链接:http://bbs.chinaunix.net/thread-4125504-1-1.html原问:看博客有写到:一个软中断不会去抢占另一个软中断。      个人理解如下:《Linux内核设计与实现》中提到,如果软中断存在共享数据,那么需要进行加锁保护,因为同类型的软中断可以同时在不同的CPU下运行。所以,一个软中断不会去抢占另一个软中断,这句话的是在一个CPU上吧?

2014-04-01 15:08:32 624

转载 linux 内核学习 tasklet 详解

软中断被执行的优先级要高于内核线程。硬中断是可以抢占内核线程的,硬中断退出时会立即执行软中断。这时软中断执行程序是运行在中断上下文的。如果软中断执行程序在指定时间内没处理完,就会挂起来等下次下次被执行。下次被执行可以是另一个硬中断退出时在中断上下文中执行,也可以是在特殊的内核线程ksoftirq被调度到来执行,这时是运行在线程上下文的。总体来说,软中断执行程序被执行的机会会比普

2014-04-01 11:19:28 609

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除