- 博客(8)
- 资源 (1)
- 收藏
- 关注
原创 shutdown and close differences
shutdown可以关闭数据传输的单方向(读或写),而close关闭数据传输的两个方向(读和写)。shutdown引发正常的终止序列(FIN),而close只减少描述字的计数,在计数为0时内核才关闭描述字。
2005-11-17 16:09:00 710
原创 c陷阱与缺陷 学习笔记
对于一些简单的1错误将不列举,这些应该是必须掌握的。1.词法缺陷编译器第一部分是词法分析器。这里进行2次划分标记(token)。一次划分的目的是为了宏扩展;二是将进行宏替换的程序划分标记(token);错误1:=不是==,&和|不是&&和||错误2:多字符记号y=x/*p /*p指向除数*/ (错误)良好的程序书写习惯也是避免这种错误的方法之一,可以写成y = x / p。在中间加几个空格来划分标
2005-11-15 16:18:00 908
原创 mss and mtu relations
mss是应用层和传输层的消息分节的大小。mtu是传输层和链路层最大传输单元关系:mss = mtu - tcp_hdr - ip_hdr (ip_hdr可以是ipv4的20字节,也可以是ipv6的40字节)以太网的mtu为1500字节,所以对于ipv4 mss = 1500 - 20 - 20 =1460,对于ipv6 mss = 1500 - 20 -40 =1440
2005-11-10 21:46:00 1020
原创 字节流边界的确定方法
我们知道TCP是一个面向字节流的,当通过其传输数据时必须确定字节流的边界以区分不同的数据记录。常用方法:1.带内特殊终止符常用的方法是使用回车符和换行符(CR+LF)来分隔每一记录,这种方法需要做转义处理,扫描整个数据寻找每个记录的位置。典型应用是ftp,smtp,http。2.显式长度每个记录前加长度前缀用来表示记录的长度。举例:#define MAX_MESG_DATA (1024 - 2*s
2005-11-04 13:49:00 1216
原创 自定义类型命名中_s,_t后缀的解释
在阅读linux内核的过程中,经常会碰到自定义类型,如:typedef struct aa_s{...};起初看时有点不明白_s和_t的区别,直到前几天才恍然大悟。按照我的理解:_s后缀应该是表示struct(一个结构体)的意思。_t后缀应该是表示一个type(一个类型)。下面举个例子:struct record_s{ int a; int b;};typedef struct rec
2005-11-04 13:39:00 3779
lua-5.1中文手册
2008-12-27
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人