2011年9月15日

TCP三次握手及四次挥手详细图解

摘要: 相对于SOCKET开发者,TCP创建过程和链接折除过程是由TCP/IP协议栈自动创建的.因此开发者并不需要控制这个过程.但是对于理解TCP底层运作机制,相当有帮助. 而且对于有网络协议工程师之类笔试,几乎是必考的内容.企业对这个问题热情之高,出乎我的意料:-)。有时上午面试前强调这个问题,并重复讲一次,下午几乎每一个人都被问到这个问题。因此在这里详细解释一下这两个过程。TCP三次握手所谓三次握手(Three-way Handshake),是指建立一个TCP连接时,需要客户端和服务器总共发送3个包。三次握手的目的是连接服务器指定端口,建立TCP连接,并同步连接双方的序列号和确认号并交换 TCP 阅读全文

posted @ 2011-09-15 15:35 原来... 阅读(399) 评论(0) 推荐(0) 编辑

大小字节序

摘要: 大字节序:把高有效位放在低地址段,例如在按字节寻址的存储器中往地址 0x0001 存放值 0x12345678,在存储器中为 地址 数值 0x0004 0x78 0x0003 0x56 0x0002 0x34 0x0001 0x12小字节序:把低有效位放在低地址段,例如在按字节寻址的存储器中往地址 0x0001 存放值 0x12345678,在存储器中为 地址 数值 0x0004 0x12 0x0003 0x34 0x0002 0x56 0x0001 0x78现在主流的CPU,intel系列的是采用的little endian的格式存放数据的。 阅读全文

posted @ 2011-09-15 15:24 原来... 阅读(2065) 评论(0) 推荐(0) 编辑

栽了两次的题--不要忘记

摘要: #include<iostream>using namespace std;struct A{char c;short s;char cc;long l;}*pAbc;int main(){pAbc=(struct A *)0x100000;printf("%x\n",pAbc+0x100);printf("%x\n",(unsigned long)pAbc+0x100);printf("%x\n",(char *)pAbc+0x100);printf("%x\n",(unsigned long *)p 阅读全文

posted @ 2011-09-15 15:20 原来... 阅读(2100) 评论(0) 推荐(1) 编辑

C语言为什么不做数组下标越界检查

摘要: 1、为了提高运行效率,不检查数组下表越界,程序就可以跑得快。因为C语言并不是一个快速开发语言,它要求开发人员保证所有逻辑的正确性。所以至少到目前为止,C语言是所有高级语言中速度最快,效率最高的。几乎所有对性能有苛刻要求的场合都使用C语言。 2、不检查下标是为了给程序员更大的空间,也为指针操作带来更多的方便。如果有这个检查的话指针的功能将会大大被削弱,C的数组标识符,里面并没有包含该数组长度的信息,只包含地址信息,所以语言本身无法检查,只能通过编译器检查,而早期的C语言编译器也不对数组越界进行检查,只能由程序员自己检查确保。以及在早期的CRT函数中也不对字符串指针或数组进行越界检查,都是要求程序 阅读全文

posted @ 2011-09-15 12:44 原来... 阅读(6105) 评论(0) 推荐(0) 编辑

导航