Linux socket
文章平均质量分 82
Z_man
这个作者很懒,什么都没留下…
展开
-
Linux 内核态和用户态的交互---netlink
作者:Kendo2006-9-3这是一篇学习笔记,主要是对《Linux 系统内核空间与用户空间通信的实现与分析》中的源码imp2的分析。其中的源码,可以到以下URL下载:http://www-128.ibm.com/developerworks/cn/linux/l-netlink/imp2.tar.gz[size=3]参考文档[/size]《Linux 系统内核空间与转载 2008-12-02 14:03:00 · 658 阅读 · 0 评论 -
epoll学习笔记
epoll有两种模式,Edge Triggered(简称ET) 和 LevelTriggered(简称LT).在采用这两种模式时要注意的是,如果采用ET模式,那么仅当状态发生变化时才会通知,而采用LT模式类似于原来的select/poll操作,只要还有没有处理的事件就会一直通知.以代码来说明问题:首先给出server的代码,需要说明的是每次accept的连接,加入可读集的时候采转载 2010-01-26 15:10:00 · 363 阅读 · 0 评论 -
epoll精髓
在linux的网络编程中,很长的时间都在使用select来做事件触发。在linux新的内核中,有了一种替换它的机制,就是epoll。相比于select,epoll最大的好处在于它不会随着监听fd数目的增长而降低效率。因为在内核中的select实现中,它是采用轮询来处理的,轮询的fd数目越多,自然耗时越多。并且,在linux/posix_types.h头文件有这样的声明:#define __转载 2010-01-26 15:12:00 · 394 阅读 · 0 评论 -
epoll使用例子
名词解释:man epoll之后,得到如下结果:NAME epoll - I/O event notification facilitySYNOPSIS #include DESCRIPTION epoll is a variant of poll(2) that can be used either as Edge or Level转载 2010-01-26 15:09:00 · 415 阅读 · 0 评论 -
Linux的EPoll模型
Linux的EPoll模型Linux 2.6内核中提高网络I/O性能的新方法-epoll I/O多路复用技术在比较多的TCP网络服务器中有使用,即比较多的用到select函数。1、为什么select落后首先,在Linux内核中,select所用到的FD_SET是有限的,即内核中有个参数__FD_SETSIZE定义了每个FD_SET的句柄个数,在我用的2.6.15-25-转载 2009-10-20 18:05:00 · 507 阅读 · 0 评论 -
Linux内核中netlink协议族的实现(上)
本文档的Copyleft归yfydz所有,使用GPL发布,可以自由拷贝,转载,转载时请保持文档的完整性,严禁用于任何商业用途。msn: yfydz_no1@hotmail.com来源:http://yfydz.cublog.cn1. 前言netlink协议族是Linux内核网络部分的一个固定部分, 一旦在内核配置中选了网络支持就自动带了而不能单独去掉。netlink的实现源码在net/转载 2009-04-09 09:09:00 · 938 阅读 · 0 评论 -
Linux内核中netlink协议族的实现(下)
本文档的Copyleft归yfydz所有,使用GPL发布,可以自由拷贝,转载,转载时请保持文档的完整性,严禁用于任何商业用途。msn: yfydz_no1@hotmail.com来源:http://yfydz.cublog.cn 5.3 连接连接通常是针对客户端连接服务器static int netlink_connect(struct socket *sock, struct转载 2009-04-09 08:57:00 · 938 阅读 · 0 评论 -
网络字节转换inet_aton & inet_ntoa & inet_addr和inet_pton & inet_ntop
inet_aton,inet_addr和inet_ntoa在点分十进制数串(如,“192.168.1.10")与他的32位网络字节二进制值之前转换IPV4地址,有2个比较新的函数inet_pton和inet_ntop,这2个对IPV4和IPV6地址都能处理 #include #include #include转载 2008-12-16 16:04:00 · 804 阅读 · 0 评论 -
Linux内核IP Queue机制的分析(二)——用户态处理并回传数据包
本文分析用户态接收到IP Queue的数据包后,根据数据包的相关信息决定数据包的下一步处理,并将处理后的数据包和处理的结果传递到内核态。文中如有任何疏漏和差错,欢迎各位朋友指正。 本文欢迎自由转载,但请标明出处,并保证本文的完整性。 作者:Godbach 日期:2009/02/19 一、处理IP Queue数据报文的编程接口本文转载 2009-02-27 10:09:00 · 819 阅读 · 0 评论 -
Linux内核IP Queue机制的分析(一)——用户态接收数据包
笔者将会通过包括本文在内的三篇文章,对IP Queue机制从用户态的应用到内核态的模块程序设计进行分析。三篇文章的题目分别是:Linux内核IP Queue机制的分析(一)——用户态接收数据包Linux内核IP Queue机制的分析(二)——用户态处理并回传数据包Linux内核IP Queue机制的分析(三)——内核态ip_queue代码分析 笔者希望通过这三篇文章转载 2009-02-27 10:07:00 · 1268 阅读 · 1 评论 -
深度探索套接字缓冲区
套接字缓冲区用结构体struct sk_buff表示,它用于在网络子系统中的各层之间传递数据,处于一个核心地位,非常之重要。它包含了一组成员数据用于承载网络数据,同时,也定义了在这些数据上操作的一组函数。下面是其完整的定义: struct sk_buff { struct sk_buff *next; struct sk_buff *prev;转载 2008-12-04 09:22:00 · 486 阅读 · 0 评论 -
怎样及时检测出非正常断开的TCP连接(转)
此处的”非正常断开”指TCP连接不是以优雅的方式断开,如网线故障等物理链路的原因,还有突然主机断电等原因有两种方法可以检测:1.TCP连接双方定时发握手消息 2.利用TCP协议栈中的KeepAlive探测第二种方法简单可靠,只需对TCP连接两个Socket设定KeepAlive探测,所以本文只讲第二种方法在Linux,Window2000下的实现(在其它的平台上没有作进一步的测试)Wi转载 2010-03-03 14:22:00 · 585 阅读 · 0 评论