代码改变世界

阅读排行榜

linux字节序转换函数和地址转换函数

2009-10-12 20:09 by cesc711, 3546 阅读, 收藏,
摘要: 刚才阅读代码的时候看到了一个字节排序函数,一时想不起具体用法了。想想学习linux下的网络编程也不少时间了,这些字节排序和转换的函数还是不太清楚,容易混淆。今天索性把这方面的知识汇总一下,争取以后能够熟练的认识和运用。字节顺序函数:小端字节序:将低序字节存储在起始地址。(linux)大端字节序:将高序字节存储在起始地址。(网络字节序)举个例子:对于整数0x12345678来说,在不同的系统中存放的... 阅读全文

ipv4和tcp报头数据格式

2009-10-13 16:32 by cesc711, 1658 阅读, 收藏,
摘要: IPv4 (Internel协议)头部[代码]iphdr->version:版本(4位),目前的协议版本号是4,因此IP有时也称作IPv4。iphdr->ihl:首部长度(4位):首部长度指的是IP层头部占32 bit字的数目(也就是IP层头部包含多少个4字节 — 32位),包括任何选项。由于它是一个4比特字段, 因此首部最长为60个字节。普通IP数据报(没有任何选择项)字... 阅读全文

linux netfilter

2009-10-12 01:11 by cesc711, 1447 阅读, 收藏,
摘要: netfilter 是一种内核中用于扩展各种网络服务的结构化底层框架。netfilter的设计思想是生成一个模块结构使之能够比较容易的扩展。新的特性加入到内核中并不需要从新启动内核。这样,可以通过简单的构造一个内核模块来实现网络新特性的扩展。给底层的网络特性扩展带来了极大的便利,使更多从事网络底层研发的开发人员能够集中精力实现新的网络特性。netfilter有4大特性:1. 每一个协议定义"hoo... 阅读全文

netfilter与用户空间通信

2009-10-21 13:34 by cesc711, 961 阅读, 收藏,
摘要: 在做p2p流控的时候,学习到了linux用户空间与内核通信的方法。在http://www.ibm.com/developerworks/cn/linux/l-netlink/index.html一文中详细介绍了几种方法。我们的内核态环境是有用户上下文的,所以采用的是copy_from_user()/copy_to_user()方法实现内核态和用户态的数据拷贝。但是这两个函数会引发阻塞,所以只能用在... 阅读全文

Java垃圾回收机制

2009-05-11 18:08 by cesc711, 919 阅读, 收藏,
摘要: 一.谁在做GarbageCollection? 一种流行的说法:在C++里,是系统在做垃圾回收;而在Java里,是Java自身在做。 在C++里,释放内存是手动处理的,要用delete运算符来释放分配的内存。这是流行的说法。确切地说,是应用认为不需要某实体时,就需用delete告诉系统,可以回收这块空间了。这个要求,对编码者来说,是件很麻烦、很难做到的事。随便上哪个BBS,在C/C++版块里总是有... 阅读全文