远方不远

step forward~

【TCP/IP】7种定时器

【TCP/IP】7种定时器 建立连接定时器(connection-establishment timer)   顾名思义,这个定时器是在建立连接的时候使用的, 我们知道, TCP建立连接需要3次握手, 如下图所示:   建立连接的过程中,在发送SYN时, 会启动一个定时器(默认应该是3秒)...

2019-07-14 20:17:53

阅读数 8

评论数 0

【TCP/IP】MAC帧头、IP头、TCP头和UDP头

一、MAC帧头定义 MAC帧是数据帧的一种。而所谓数据帧,就是数据链路层的协议数据单元,它包括三部分:帧头,数据部分,帧尾。其中,帧头和帧尾包含一些必要的控制信息,比如同步信息、地址信息、差错控制信息等;数据部分则包含网络层传下来的数据,比如ip数据包。 目前,有四种不同格式的以太网帧在使用,...

2019-07-14 19:54:37

阅读数 10

评论数 0

【protobuf】protobuf和json相互转化

protobuf和json相互转化 //Protocol_demo类 从pb转化json Protocol_demo.Response.Builder builder = Protocol_demo.Response.newBuilder(); Message message=builde...

2019-07-11 11:06:24

阅读数 26

评论数 0

【Linux】多线程场景练习

多线程场景练习 场景1 有四个线程1、2、3、4。线程1的功能就是输出1,线程2的功能就是输出2,以此类推.........现在有四个文件ABCD。初始都为空。现要让四个文件呈如下格式: A:1 2 3 4 1 2.... B:2 3 4 1 2 3.... C:3 4 1 2 3 4....

2019-07-08 12:46:06

阅读数 11

评论数 0

【Linux】多线程利用条件变量打印AB,ABC,奇偶数

多线程利用条件变量打印AB,ABC,奇偶数 1、条件变量 条件变量是多线程同步的一种方式。 2、两个线程打印ABAB #include <iostream> #include <cstdlib> #include <p...

2019-07-06 12:16:24

阅读数 18

评论数 0

【TCP/IP】iptables

iptables防火墙可以用于创建过滤(filter)与NAT规则。所有Linux发行版都能使用iptables,因此理解如何配置 iptables将会帮助你更有效地管理Linux防火墙。如果你是第一次接触iptables,你会觉得它很复杂,但是一旦你理解iptables的工 作原理,你会发现其实...

2019-07-02 15:49:44

阅读数 29

评论数 0

【Linux】slab分配器介绍

slab分配器介绍 动态内存管理 内存管理的目标是提供一种方法,为实现各种目的而在各个用户之间实现内存共享。内存管理方法应该实现以下两个功能: 最小化管理内存所需的时间 最大化用于一般应用的可用内存(最小化管理开销) 内存管理实际上是一种关于权衡的零和游戏。您可以开发一种使用少量内存进行管...

2019-06-10 13:18:30

阅读数 19

评论数 0

【TCP/IP】TCP/IP网络模型

TCP/IP网络模型

2019-05-29 14:18:39

阅读数 110

评论数 0

【UML】UML简单介绍

UML简单介绍 平时阅读一些远吗分析类文章或是设计应用架构时没少与UML类图打交道。实际上,UML类图中最常用到的元素五分钟就能掌握,下面赶紧来一起认识一下它吧: 1、类的属性的表示方式 在UML类图中,类使用包含类名、属性(field) 和方法(method) 且带有分割线的矩形来表示,比...

2019-05-28 14:00:16

阅读数 14

评论数 0

【TCP/IP】ICMP协议

ICMP协议 互联网中的网络报文经常会由于网络不可达,MTU限制,端口不可用以及服务器不可服务等问题而导致丢失。为了能够将网络报文传输过程中发生的一些错误及时的反馈该用户或者用户进程,ICMP(网络控制报文协议)应运而生。 1、主要用途 ICMP主要用户差错通知和信息查询。 [1]给...

2019-05-26 19:21:39

阅读数 23

评论数 0

【TCP/IP】TCP的三次握手和四次挥手

TCP的三次握手和四次挥手 1、基础知识 如下图所示,TCP报文由TCP首部+TCP数据部分组成,TCP报文加上IP首部,组成IP报文。TCP首部包含20个字节的固定部分和一些选项部分。固定部分主要由源宿端口/报文序列号/确认号/数据偏移/保留字节/标识位/窗口/校验和/紧急指针组成。 ...

2019-05-26 18:06:37

阅读数 11

评论数 0

【TCP/IP】Nagle算法

Nagle算法 1、为什么要引入Nagle算法 Nagle算法主要是为了防止网络连接中充斥着<MSS的分组。小的分组一方面会造成网络拥塞,另外一方面由于网络传输过程中,用户程序需要传递的内容需要附上TCP头和IP头封装成为TCP包/IP包,会造成资源浪费。为了解决这个问题,Nag...

2019-05-25 14:43:53

阅读数 15

评论数 0

【TCP/IP】流量控制和拥塞控制

流量控制和拥塞控制 1、流量控制 如果发送方把数据发送得过快,接收方可能会来不及接收,这就会造成数据的丢失。所谓流量控制就是让发送方的发送速率不要太快,要让接收方来得及接收。所以可以说,流量控制是发送方被动地调整流量。 利用滑动窗口机制可以很方便地在TCP连接上实现对发送方的流量控制。 设...

2019-05-24 13:41:21

阅读数 24

评论数 0

【python】安装MySQLdb至指定目录的python

安装MySQLdb至指定目录的python 1、why 之前的文档说明了怎么为特定目录下面的python安装模块,但是当利用之前的方法的时候,安装失败,一直提示Import error: No module named _mysql。 2、how 后面经过排查发现是_mysql.so文件未...

2019-05-20 11:47:08

阅读数 21

评论数 0

【mongodb】mongodb分片介绍

mongodb分片介绍 在了解分片集群之前,务必要先了解复制集技术! 1.1 MongoDB复制集简介   一组Mongodb复制集,就是一组mongod进程,这些进程维护同一个数据集合。复制集提供了数据冗余和高等级的可靠性,这是生产部署的基础。 1.1.1 复制集的目的   保证数据在...

2019-05-08 17:22:03

阅读数 71

评论数 0

【mongodb】初识mongodb

mongodb入门介绍 1.1 数据库管理系统 在了解MongoDB之前需要先了解先数据库管理系统 1.1.1 什么是数据?   数据(英语:data),是指未经过处理的原始记录。   一般而言,数据缺乏组织及分类,无法明确的表达事物代表的意义,它可能是一堆的杂志、一大叠的报纸、数种...

2019-05-08 17:20:13

阅读数 12

评论数 0

【Linux网络编程】网络协议入门(一)

我们每天使用互联网,你是否想过,它是如何实现的? 全世界几十亿台电脑,连接在一起,两两通信。上海的某一块网卡送出信号,洛杉矶的另一块网卡居然就收到了,两者实际上根本不知道对方的物理位置,你不觉得这是很神奇的事情吗? 互联网的核心是一系列协议,总称为"互联网协议"(Inter...

2019-05-06 20:19:35

阅读数 37

评论数 0

【mysql】配置文件详解

(一) [client] port = 3306 socket = /tmp/mysql.sock [mysqld] port = 3306 socket = /tmp/mysql.sock basedir = /usr/local/mysql datadir = /data/mysql p...

2018-12-29 14:45:59

阅读数 58

评论数 0

【操作系统】进程间通信

进程间通信 1、进程间通信的定义 进程间通信就是在不同进程之间传播或交换信息,那么不同进程之间存在着什么双方都可以访问的介质呢?进程的用户空间是互相独立的,一般而言是不能互相访问的,唯一的例外是共享内存区。另外,系统空间是“公共场所”,各进程均可以访问,所以内核也可以提供这样的条件。此外,还有...

2018-12-23 16:41:00

阅读数 80

评论数 0

【Linux】修改进程优先级

一 进程优先级简介 Linux操作系统是一个多用户、多任务的操作系统,Linux系统中通常运行着非常多的进程。但是CPU在同一个时钟周期内只能运算一个指令。进程优先级决定了每个进程处理先后顺序。   二 示例 三 修改NI值时注意事项   四 nice命令 nice [选项] 命令 nice...

2018-12-23 16:25:38

阅读数 93

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭