发布时间:2013-04-28 16:23:02
一、反向链接技术适用场景:P2P通信双方中只有一方位于NAT设备之后如图1所示,客户端A位于NAT之后,它通过TCP端口1234连接到服务器的TCP端口1235上,NAT设备为这个连接重新分配了TCP端口62000。客户端B也通过TCP端口1234连接到服务器端口1235上。A和B从服务器处获知的对方的外网地址二元组{IP地址:端口号}分别为{.........【阅读全文】
发布时间:2013-04-27 23:47:03
同步(synchronous) IO和异步(asynchronous) IO,阻塞(blocking) IO和非阻塞(non-blocking)IO分别是什么,到底有什么区别?这个问题其实不同的人给出的答案都可能不同,比如wiki,就认为asynchronous IO和non-blocking IO是一个东西。这其实是因为不同的人的知识背景不同,并且在讨论这个问题的时候上下文(context.........【阅读全文】
发布时间:2013-04-27 23:25:43
众所周知, CPU是计算机的大脑, 它负责执行程序的指令; 内存负责存数据, 包括程序自身数据. 同样大家都知道, 内存比CPU慢很多. 其实在30年前, CPU的频率和内存总线的频率在同一个级别, 访问内存只比访问CPU寄存器慢一点儿. 由于内存的发展都到技术及成本的限制, 现在获取内存中的一条数据大概需要200多个CPU周期(CPU cycle.........【阅读全文】
发布时间:2013-04-27 22:15:53
一、关于一般常量声明或定义的格式如下:const <类型说明符> <变量名> = <常量或常量表达式>; [1]<类型说明符> const <变量名> = <常量或常量表达式>; [2][1]和[2]的定义是完全等价的。例如:整形int(或其他内置类型:float,double,char)const int bufSize = 512;或者int const .........【阅读全文】