摘要: 为了能简单的看看某些linux内核源码,复习了一下c语音,今天汇总了一下关于宏定义的相关内容: 一、ifndef/define/endif用法: .h文件,如下: #ifndef XX_H #define XX_H ... #endif 这样如果有两个地方都包含这个头文件,就不会出现两次包含的情况 阅读全文
posted @ 2016-03-11 21:13 webber_liu 阅读(994) 评论(0) 推荐(0) 编辑
摘要: 由于放假,好久没登过服务器,今天登上服务器查看日志意外发现:/var/log/messages文件竟然被撑到20多个G!!!赶紧查看是什么情况,首先,20多个G的文件根本无法查看,因此,我想到了split拆分文件,然后再细化查看,命令如下: 其中,split命令-b选项可以识别的单位为m、k,即将m 阅读全文
posted @ 2016-03-07 18:27 webber_liu 阅读(2023) 评论(0) 推荐(0) 编辑
摘要: TCP管理的4个不同的定时器: 1.重传定时器:用于当希望收到另一端的确认。 2.坚持定时器:使窗口大小信息保持不断流动。 3.保活定时器:检测TCP空闲连接的另一端何时崩溃或重启。 4.2MSL定时器:测量一个连接处于TIME_WAIT状态的时间。MSL(报文段最大生存时间) 重传定时器: 规定: 阅读全文
posted @ 2016-03-06 16:43 webber_liu 阅读(882) 评论(1) 推荐(0) 编辑
摘要: Nagle算法: 该算法提出的目的是想解决网络中大量的小的TCP数据包造成网络拥塞的问题,举个例子,当客户端要发送一个字节的TCP数据包到服务器时,我们实际上产生了41字节长的分组:包括20字节的IP首部,20字节的TCP首部以及1个字节的数据。这被称为微小分组。这种情况下,有效传输通道的利用率只有 阅读全文
posted @ 2016-03-03 14:36 webber_liu 阅读(258) 评论(0) 推荐(0) 编辑
摘要: 设计TCP服务器,采用如下规则: 1.正等待连接请求的一端有一个固定长度的连接队列,该队列中的连接已被TCP接受(完成三次握手),但还没有被应用层接受。注意:TCP接受一个连接是将其放入这个队列,而应用层接受连接是将其从该队列中移出。也就是使用***.accept()函数来阻塞等待客户的请求。 2. 阅读全文
posted @ 2016-03-02 22:19 webber_liu 阅读(621) 评论(0) 推荐(0) 编辑
摘要: 今天犯懒了,本来自己也做了一些相应的笔记,但是发现这篇写的更好一些,简单易懂,而且有图有真相,为了方便以后查看,在此转载了,在此基础上加了自己的笔记 TCP正常建立和关闭的状态变化 TCP连接的建立可以简单的称为“三次握手”,而连接的中止则可以叫做“四次握手”。 建立连接 在TCP/IP协议中,TC 阅读全文
posted @ 2016-03-01 22:17 webber_liu 阅读(216) 评论(0) 推荐(0) 编辑
摘要: 定义:是一种用于TCP/IP应用程序的分布式数据库。(分布式数据库:指利用高速计算机网络将物理上分散的多个数据存储单元连接起来组成一个逻辑上统一的数据库。分布式数据库的基本思想是将原来集中式数据库中的数据分散存储到多个通过网络连接的数据存储节点上,以提高存储性和并发访问性。) 从应用的角度上看,对D 阅读全文
posted @ 2016-02-26 21:47 webber_liu 阅读(160) 评论(0) 推荐(0) 编辑
摘要: 广播和多播:仅应用于UDP 广播分为: 1.受限的广播(255.255.255.255) 2.指向网络的广播(eg:A类网络 netid.255.255.255)主机号为全1的地址 3.指向子网的广播:主机号为全1且有特定子网号的地址 4.指向所有子网的广播:(eg: 128.1.255.255 而 阅读全文
posted @ 2016-02-25 21:57 webber_liu 阅读(295) 评论(0) 推荐(0) 编辑
摘要: 首先,说明一下多线程的应用场景:当python处理多个任务时,这些任务本质是异步的,需要有多个并发事务,各个事务的运行顺序可以是不确定的、随机的、不可预测的。计算密集型的任务可以顺序执行分隔成的多个子任务,也可以用多线程的方式处理。但I/O密集型的任务就不好以单线程方式处理了,如果不用多线程,只能用 阅读全文
posted @ 2016-01-28 22:57 webber_liu 阅读(228) 评论(0) 推荐(0) 编辑
摘要: 刚开始,还不太懂,直接上了MySQL5.7版本的二进制安装,结果遇到了各种问题,从5.6到5.7还是做了很大改变的,比如mysql_install_db的文件位置变更到了/bin文件下等等,觉得现在用新版本不太合适,就改到了尝试5.6的安装,下面是两种安装的方法记录。 一、RPM安装 RPM安装属于 阅读全文
posted @ 2016-01-13 14:16 webber_liu 阅读(147) 评论(0) 推荐(0) 编辑