自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(242)
  • 资源 (7)
  • 问答 (1)
  • 收藏
  • 关注

原创 【Leetcode】层次遍历二叉树

思路:BFS1、根节点加入队列;2、遍历队列中的节点,将节点的子节点加入队列;(如不需要逐行,则结束)3、如何实现逐行?需要记录每行队列的长度;代码: public List<List<Integer>> levelOrder(TreeNode root) { List<List<Integer>> reslist = new ArrayList<>(); Queue<TreeNode> queue = new Li

2020-05-13 10:48:05 159

原创 TCP面试详解(传输处理2)

TCP拥塞控制四大算法:(1) 慢重启(2) 拥塞避免(3) 快重启(4) 快恢复

2020-05-10 14:10:21 144

原创 TCP面试详解(传输处理1)

TCP流量控制滑动窗口机制

2020-05-10 14:08:11 163

原创 TCP面试详解(传输处理0)

TCP的可靠传输机制序列号:保证数据有序到达确认号:保证数据达到超时重传:保证数据到达

2020-05-10 14:06:47 204

原创 TCP面试详解(连接处理)

核心概念:无论是三次握手还是四次挥手,TCP都分为两个方向:client向server建立/断开连接 && server向client建立/断开连接1、TCP三次握手A <------> B/* 1、2两步建立client_to_server的连接 */(1)A发送同步包(SYN+seq);(2)B确认收到A的同步包,并返回确认包(ACK+ack+seq);/* 3、4两步建立server_to_client的连接 */(3)B发送同步包(SYN+seq);

2020-05-10 13:59:26 349

原创 TCP并发服务器模型(2)

四、IO复用循环服务器将系统的处理能力集中在核心业务上,降低并发处理单元的数量。建立两个线程:一个处理客户端的连接请求 thread_connect,一个处理客户端的业务处理请求 thread_handle。accept 成功后,thread_connect 将accept 返回的 fd 放入客户端连接状态表,此表与 thread_handle 共享。thread_handle 建立 f...

2020-03-19 20:38:38 179

原创 TCP并发服务器模型(1)

1、统一accept,fork进程处理每一个客户端的业务2、统一accept,create线程处理每一个客户端的业务3、创建线程处理每一个客户端的请求,互斥处理每一个accept...

2020-03-19 20:20:08 253

原创 字符串操作函数

char * strcat (char *restrict to, const char *restrict from)int strcmp (const char *, const char *);char * strcpy (char *restrict to, const char *restrict from)size_t strlen (const char *);ch...

2020-03-18 20:31:17 162

原创 内存操作函数

#include <stdlib.h>void * memchr (const void *block, int c, size_t size);int memcmp (const void *a1, const void *a2, size_t size);void * memcpy (void *restrict to, const void *restrict f...

2020-03-18 20:21:01 138

原创 嵌入式的固件烧录方式

1、固件固件,firmware所谓固件,就是文件,固化在存储介质上的文件,而文件,其实就是数据。嵌入式开发中,尤其是Linux开发,常见的方式是,从板子(个人用的是arm的板子)上启动,会允许Uboot,然后Uboot去加载kernel内核,个人常用的kernel是uImage,然后Linux运行后,去加载根文件系统rootfs,个人常用到的yaffs2文件系统。前后系统运行所需要的文件,...

2020-03-14 15:43:07 3510

原创 交换机结构原理

1、硬件结构2、软件结构

2020-03-14 15:02:33 8697

原创 IO模型

五中IO模型阻塞IO非阻塞IOIO复用信号驱动IO异步IO

2020-03-12 19:45:52 121

原创 数据IO函数

1、常用的几个IO函数#include <unistd.h>read();write();#include <sys/socket.h>recv();send();recvmsg();sendmsg();#include <sys/uio.h>readv();writev();2、IO函数的比较3、IO函数的参数详解...

2020-03-12 19:42:50 147

原创 协议处理函数

协议处理函数:#include <netdb.h>struct protoent *getprotobyname (const char *);struct protoent *getprotobynumber (int);struct protoent *getprotoent (void);void sethostent (int);void endprotoen...

2020-03-09 19:06:13 230

原创 主机名称处理函数

#include <netdb.h>struct hostent *gethostbyaddr (const void *, socklen_t, int);struct hostent *gethostbyname (const char *);hostent结构体:/* Different from the linux versions - note the short...

2020-03-09 18:43:42 138

原创 IP地址转换函数

#include <sys/socket.h>#include <netinet/in.h>#include <arpa/inet.h>int inet_aton (const char *name, struct in_addr *addr)uint32_t inet_addr (const char *name)uint32_t inet_net...

2020-03-08 10:24:46 442

原创 字节序转换

#include <netinet/in.h>uint32_t htonl (uint32_t hostlong)uint16_t htons (uint16_t hostshort)uint32_t ntohl (uint32_t netlong)uint16_t ntohs (uint16_t netshort)1、主机序转网络序(1) htonluint32_t...

2020-03-07 10:34:25 254

原创 Socket API详解(2)

3、侦听客户端的连接int listen (int socket, int n)Description:The listen function enables the socket socket to accept connections, thus making it a server socket. Arguments:(1)socket(2)n:指定等待连接的队列长度The...

2020-03-06 18:46:35 201

原创 Socket API详解(1)

#include <sys/socket.h>int socket (int namespace, int style, int protocol)int bind (int socket, struct sockaddr *addr, socklen_t length)int listen (int socket, int n)int accept (int socket,...

2020-03-04 19:07:46 379

原创 TCP网络编程

#include <stdio.h>#include <stdlib.h>#include <strings.h>#include <sys/types.h>#include <sys/socket.h>#include <unistd.h>#include <netinet/in.h>#includ...

2020-03-04 14:18:39 118

原创 【GCC】结构体指定位数

typedef struct{ AUTH_PAE_STATE apsm : 4; BAUTH_SM_STATE basm : 3; AUTH_KEYSM kxsm : 1; KRC_SM krcsm : 1; REAUTH_SM_STATE resm : 1; CTRL_SM_STATE cdsm : 1; PORT_MOD...

2020-02-29 17:41:00 378

原创 【GCC】函数宏

#define SET_DOT1X_txWhen(x,y) Access_Control_Timer_Kill(DOT1X_txWhen_TIMER,x);\ Access_Control_Timer_Set(DOT1X_txWhen_TIMER,x,y);\ ...

2020-02-29 17:37:34 274

原创 主机序和网络序

1、主机字节序整数在内存中保存的顺序。不同的CPU有不同的字节序类型,最常见的有两种:1. Little endian:将低序字节存储在起始地址 2. Big endian:将高序字节存储在起始地址 2、网络字节顺序TCP/IP中规定好的一种数据表示格式,它与具体的CPU类型、操作系统等无关,从而可以保证数据在不同主机之间传输时能够被正确解释。网络字节顺序采用Big Endian排...

2020-02-29 17:31:38 308

原创 strcpy、strncpy和memcpy的区别

strcpy、strncpy和memcpy的区别

2020-02-20 15:04:12 254

原创 GNU C和 ANSI C的差别

参考如下:GNU C 与 ANSI C 的一些差别

2020-02-19 17:06:15 173

原创 输出控制符

输出控制符:%d int%ld long%md m 为指定的输出字段的宽度。%u unsigned%c char%f 浮点型%.mf 输出实数时小数点后保留 m 位%s 字符串%o 以八进制形式输出整数%x 以十六进制形式输出整数%p 输出内存地址...

2020-02-19 10:35:42 233

原创 指针的初始化与赋值

1、基本类型与指针(1)指针本身初始化int a = 25;int *ptr = &a; (2)指针指向的内存初始化int *p = 7;指针本身初始化是前提,否则就是空指针,即该指针不知指向哪一块内存,所以要给指针赋值:int k;*p = &k;printf("k: %d\n", k); // k=72、字符串与指针将指针指向字符串常量的首地址;不...

2020-01-31 14:45:35 1464

原创 字符串定义

一、字符数组#define MAX 100#define MSG "How are you"void test_char_array(){ /** * 初始化指定大小数组存储字符串 * * 指定数组大小时,至少比字符串长度多1,为的是容纳空字符; * 字符数组中未被使用的元素自动初始化为空字符'\0'; */ const char str[MAX] = MSG;...

2020-01-29 16:37:54 632

原创 静态内存、动态内存与堆栈

一、何谓静态内存、动态内存静态内存分配好后,程序运行过程中一直存在不会被释放,且一旦分配好,其内存大小就固定下来不能改变,在编译和链接的阶段就会分配好。动态内存是程序运行过程中,根据程序的需要分配和释放,其大小可变。二、堆与栈堆和栈都是动态分配的,区别有两点:1、栈是由编译器分配与释放,堆是程序通过调用malloc或new分配,调用free或delete释放。2、栈是线性结构,堆是链表...

2020-01-29 11:13:58 532

原创 C语言基本数据类型

/* WORD一般是无符号类型 */typedef unsigned short WORD16;typedef signed short SWORD16;typedef unsigned int WORD32;typedef signed int SWORD32;typedef unsigned long long WORD6...

2020-01-21 16:59:21 1539

原创 OSPF开放最短路径优先协议

OSPF是一种链路状态协议,该协议克服了路由选择信息协议(RIP)和其它距离向量协议的缺点。OSPF版本1在1131中定义,目前使用的是OSPF版本2,在RFC2328中定义。ZXR10 5960全面支持OSPF版本2。OSPF具有下列特点:• 快速收敛,通过快速扩散链路状态更新确保数据库的同步,并同步计算路由表• 无路由环路,通过最短路径优先(SPF)算法,确保不会产生环路• 路由...

2019-12-20 16:36:44 778

原创 RIP路由信息协议

路由信息协议RIP是第一个实现动态选路的路由协议,该协议是基于本地网络的矢量距离算法实现的。RIPv1由RFC1058定义,RIPv2由RFC1723定义。ZXR10 5960全面支持RIPv1和RIPv2,缺省使用RIPv2。RIPv2相比RIPv1有以下主要优点:• 支持路由选择刷新中带有子网掩码• 支持路由选择刷新的认证• 支持组播路由刷新以下将主要介绍RIPv2,除非特别指定...

2019-12-20 16:10:32 1154

原创 交换机MAC地址学习与转发机制

学习和转发机制:PC发送数据帧,SW记录(或更新)端口和数据帧的源mac地址(即PC的mac地址);(src_mac | port)根据数据帧的目的mac,查询mac地址表,有则转发,无则洪泛,将数据帧发送至目的地;(dst_mac | port)MAC地址老化:老化时间默认为300秒;从一个地址记录加入地址表以后开始计时,如果在老化时间内各端口未收到源地址为该MAC地址的帧,则将这些...

2019-12-13 16:54:53 5229

原创 交换机VLAN二层转发机制

1、vlan的划分(1)基于端口划分这种划分VLAN的方法是根据以太网交换机的端口来划分,明确指定各端口属于哪个VLAN的设定方法。根据端口划分是目前定义VLAN的最广泛的方法,IEEE 802.1Q规定了依据以太网交换机的端口来划分VLAN的国际标准(2)基于Mac地址划分:这种划分VLAN的方法是根据每个主机的MAC地址来划分,即对每个MAC地址的主机配置所属组。也就是通过查询并记录端...

2019-12-13 16:52:09 2753

原创 IPC_管道

原理每个进程有各自不同的用户地址空间,任何一个进程的全局变量在另一个进程中都看不到。所以进程之间要交换数据必须通过内核,在内核中开辟一块缓冲区,进程1把数据从用户空间中拷贝到缓冲区,进程2再从缓冲区把数据读走。内核提供的这种机制就是进程间通信。通信需要媒介,两个进程间通信的媒介就是内存。通信的原理就是让两个或多个进程能够看到同一块共同的资源,这块资源一般都是由内存提供。(1)匿名管道in...

2019-09-29 19:58:44 180

原创 软链接和硬链接

参考:软链接和硬链接的概念和区别(一)软链接和硬链接的概念和区别(二)

2019-09-19 19:05:14 124

原创 C回调函数

回调函数就是一个通过函数指针调用的函数。如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用来调用其所指向的函数时,我们就说这是回调函数。回调函数不是由该函数的实现方直接调用,而是在特定的事件或条件发生时由另外的一方调用的,用于对该事件或条件进行响应。1、首先使用回调函数,就会用到怎么注册回调函数这个问题。你需要告诉底层代码,它需要调用的函数是什么,那么就得事先定义好回调函数...

2019-05-21 19:03:14 1751

原创 职场理论

墨菲定律:越害怕什么,就越会发生!吉德林法则:把问题清楚的写下,就已经解决了一半!基尔伯特定理:工作中最大的问题,就是没人跟你说,该如何去做!沃尔森法则:把信息和金钱排在第一位,金钱自然就会到来!福克兰定律:没必要做出决定时,就不要做出决定!...

2019-02-10 09:55:45 257

原创 Ubuntu用apt安装软件报错Could not get lock /var/lib/dpkg/lock的解决方案

在Ubuntu中,有时候运用sudo apt-get install 安装软件时,会出现一下的情况E: Could not get lock /var/lib/dpkg/lock - open (11: Resource temporarily unavailable)E: Unable to lock the administration directory (/var/lib/dpkg/...

2018-11-25 10:23:29 596

原创 结构体字节对齐

1、什么是字节对齐现代计算机中,内存空间按照字节划分,理论上可以从任何起始地址访问任意类型的变量。但实际中在访问特定类型变量时经常在特定的内存地址访问,这就需要各种类型数据按照一定的规则在空间上排列,而不是顺序一个接一个地存放,这就是对齐。2、字节对齐的原因和作用不同硬件平台对存储空间的处理上存在很大的不同。某些平台对特定类型的数据只能从特定地址开始存取,而不允许其在内存中任意存放。例如Mo...

2018-11-10 16:13:05 523

Linux网络编程代码

Linux网络编程包含了文本资料和代码,文档十分全面,对新手非常合适,代码很详细

2019-05-07

eclipse_cpp

Eclipse用语开发C/C++的IDE,轻量级,便于使用,尤其适用于Linux下C/C++开发

2019-01-05

R语言实战(第2版)pdf完整版

R语言 R语言实战(第2版)_完整版带目录.pdf R语言实战(第2版)_完整版带目录.pdf R语言实战(第2版)_完整版带目录.pdf

2017-07-11

图书馆管理系统代码

C语言编写的图书馆管理系统,适合大一大二的课程设计

2015-04-13

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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