自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(79)
  • 资源 (7)
  • 收藏
  • 关注

原创 网络字节序与主机字节序

多字节的数值在内存中高低位的排列方式会影响所表示的数值处理方式和显示。字节序以字节为基本单位,表示不同字节的存储顺序。

2024-01-08 23:08:20 468

原创 即时消息技术笔记一-基本要求

即时消息的基本要求

2023-04-05 22:15:04 187 1

原创 linux性能优化-内存回收

linux性能优化-内存回收

2023-02-11 12:00:00 1032

原创 linux性能优化-内存原理

linux性能优化-内存原理

2023-02-08 23:32:21 3069 1

原创 linux性能优化-内存buffer/cache区分

linux性能优化-内存buffer/cache区分

2023-02-08 23:27:48 1941

原创 linux性能优化-中断

linux性能优化-中断

2023-02-02 11:00:00 523

原创 网卡ID简要说明

网卡ID

2023-02-01 16:00:00 1332

原创 linux性能优化-CPU利用率

linux性能优化-CPU利用率

2023-01-30 09:00:00 479

原创 linux性能优化-进程状态

linux性能优化-进程状态

2023-01-30 08:30:00 287

原创 linux性能优化-CPU上下文切换

linux性能优化-CPU上下文切换

2023-01-29 15:30:00 1791

原创 linux性能优化-平均负载

linux性能优化-平均负载

2023-01-28 15:30:00 2665

原创 基础网络通信过程二

跨路由基本通信过程

2022-09-22 00:53:20 298

原创 基础网络通信过程一

同一网段设备通信过程

2022-09-21 23:47:25 295

原创 常见生成树协议介绍

介绍当前主流STP协议族,及他们的区别。

2022-09-15 23:34:10 1451

转载 网络基础-MSS

网络基础概念-MSS

2022-09-14 23:20:07 557

原创 网络概念-MTU

网络协议-MTU

2022-09-14 23:12:26 2909 1

原创 网卡收包基础: 中断-轮询-ring buffer-DMA-NAPI

网卡收发包的基本概念

2022-03-27 15:38:14 2604

原创 rstp要点7:Times总结

rstp的时间信息

2022-02-14 20:56:54 273

原创 rstp要点6:P/A协商机制

RSTP的P/A协商机制

2022-02-09 20:36:53 2700

原创 rstp要点5:Alternate口和Backup口的选举

rstp Alternate口和Backup口的选举

2022-02-09 20:08:20 4033

原创 rstp要点4:边缘端口的实现机制

RSTP边缘端口机制

2022-02-09 19:58:44 4421

原创 rstp要点3:hello、forwarddelay、maxage配置

1. hello、forwarddelay、maxage配置生效2. message age 与 maxage

2022-02-09 19:49:56 1660

原创 rstp要点2:桥优先级为什么是4096的倍数?

rstp的桥优先级是4096的倍数原因

2022-02-09 19:38:00 1818

原创 rstp要点1:端口优先级为什么是16的倍数

rstp端口优先级是16的倍数原因

2022-02-09 19:33:44 2849 2

原创 C语言长字符串拆分

一、说明C中字符串有时候会出现很长的情况,如果不换行书写查看起来很不方便。长字符串拆分成多行处理也是C规范的一部分。二、方法方法1. 利用双引号" " ,将长字符串分成多个子串换行,C会自动无缝拼接这些字符串。方法2. 利用斜杠 \ , \ 后的换行符会被C忽略,所以可以拆分字符串,但是下一行的空格会被计算在内,可能导致错误。三、例子int main(){ char s1[50] , s2[50]; int slen=0; slen = snprintf(s1, si

2022-02-01 23:09:02 4211

原创 ARP协议基础-部分

一、 相关理解报文走二层转发流程还是三层转发流程是根据进入端口是二层口还是三层口决定的,而不是报文类型。OSI参考模型是用来划分协议的,表明每个协议运行在那个位置,同一层间通过协议进行交互,不同层间通过接口进行交互。ARP协议在TCP/IP模型中划分在网络层,在OSI参考模型中位于数据链路层。ARP报文是由以太网帧进行封装传输的,没有封装进ip包。request报文目的mac全f表明是二层广播数据帧。reply是已知单播数据帧。ARP协议用来寻找指定的IP对应的MAC地址。二、ARP报文(

2022-01-03 20:51:38 1586

原创 C语言:位段

一、定义位段,C语言允许在一个结构体中以位为单位来指定其成员所占内存长度,这种以位为单位的成员称为“位段”或称“位域”( bit field) 。利用位段能够用较少的位数存储数据。二、注意在C语言中,位段的声明和结构(struct)类似,但它的成员是一个或多个位的字段,这些不同长度的字段实际储存在一个或多个整型变量中。在声明时,位段成员必须是整形或枚举类型(通常是无符号类型),且在成员名的后面是一个冒号和一个整数,整数规定了成员所占用的位数。位域不能是静态类型。不能使用&对位域做取地址运算,

2021-11-29 22:38:45 919

原创 二层网络通信

​一、前言基础交换机实现数据链路层数据帧的转发,它连接终端设备,在收到数据帧时进行MAC寻址及数据帧转发。每个交换机维护一个MAC地址表。二、MAC地址MAC地址用于在网络中唯一标识一个网卡,它是全球唯一的。MAC地址由48bit构成,前24位由IEEE分配,后24位由不同生产厂家自己确定。MAC地址通常由12个16进制数表示。三、以太网帧1、格式(1)Ethernet_ll 格式(2)IEEE 802.3 格式2. 数据帧分类(1)单播以太网帧:目的MAC地址为单

2021-11-03 21:23:15 1936

原创 代码查错手段

1. 死循环死循环一定会占满CPU,可以通过查看cpu占用来判断是否有死循环。2. 函数出错,检查方式(1)先检查输入是否正确,参数格式,输入内容。(2)查看对应错误码。(3)确定具体报错位置,定位错误。...

2021-10-31 16:41:12 881

原创 likely与unlikely

一、介绍likely() 与 unlikely()是内核中定义的两个宏。位于/include/linux/compiler.h中,具体定义如下:#define likely(x) __builtin_expect(!!(x), 1)#define unlikely(x) __builtin_expect(!!(x), 0)__builtin_expect是gcc(版本>=2.96,网上写的,我没验证过)中提供的一个预处理命令(这个名词也是网上写的,我想叫函数更好些),有利于代码优化。gcc(

2021-10-31 16:33:54 342

原创 send、recv、sendto、recvfrom

区别send、recv在TCP协议下使用。sendto、recvfrom在UDP协议下使用,也可以在TCP协议下使用,不过用的很少。udp通讯中的sendto()需要在参数里指定接收方的地址/端口,recvfrom()则在参数中存放接收发送方的地址/端口,与之对应的send()和recv()则不需要如此,但是在调用send()之前,需要为套接字指定接收方的地址/端口(这样该函数才知道要把数据发往哪里),在调用recv()之前,可以为套接字指定发送方的地址/端口,这样该函数就只接收指定的发送

2021-10-31 15:02:55 333

原创 c语言性能优化

结构体对齐结构体中尽量保持偶数字节对齐(2,4,8),这样在cpu缓存读取时可减少读取次数,加快速度。

2021-10-31 14:58:55 211

原创 c语言的 宏

一、常规宏定义在 C 语言中,可以采用命令 #define 来定义宏。该命令允许把一个名称指定成任何所需的文本,例如一个常量值或者一条语句。在定义了宏之后,无论宏名称出现在源代码的何处,预处理器都会把它用定义时指定的文本替换掉。#define PI 3.1415926#define ARRAY_SIZE 100#define TITLE "*** Examples of Macros Without Parameters ***"#define BUFFER_SIZE (4 * 512)#def

2021-10-31 14:52:02 4225

原创 char, signed char, unsigned char

1. 区别(1) ANSI C 提供了3种字符类型,分别是char、signed char、unsigned char(2)char相当于signed char或者unsigned char,但是这取决于编译器(3)这三种字符类型都是按照1个字节存储的,可以保存256个不同的值(4) signed char取值范围是 -128 到 127(5) unsigned char 取值范围是 0 到 2552. 等价(1)uint_8 等价于 unsigned char,存储大小都是一个字节,表示范围

2021-10-31 14:24:34 516

原创 原码-反码-补码转换

计算机内部使用补码表示二进制数1. 正数的补码=反码=原码2. 负数由原码求补码注意符号位始终保持不变。若已知 负数 -8,则其:原码为:1000 1000,(1为符号位,为1代表负数,为0代表正数)反码为:1111 0111,(符号位保持不变,其他位置按位取反)补码为:1111 1000,(反码 + 1)即在计算机中 用 1111 1000表示 -83. 负数由补码求原码(1)方法1:求负数 原码--->补码 的逆过程。 注意:符号位保持不变!

2021-10-31 14:11:58 1346

原创 C语言常见错误

C语言常犯的错误1. 申请内存后必须加错误检查。申请内存三步:malloc->判断是否申请成功->memset赋值->使用->释放。2. 对函数参数要检查。3. 关键部分要加注释,注释风格要统一。4. 统一编码规范(for/switch等缩进,空格, 注释)。5. 定义debug开关,使用宏统一进行错误处理(FILE、LINE、func)。6. 通常返回值:0表示成功,其他值表示失败。7. 发现了在ip和端口计算中的字节序问题,在处理时要统一字节序。8. 在进行位运

2021-10-11 23:51:26 469

原创 c语言常用初始化函数(字符串、结构体):memset()

memset()<string.h>函数原型:void *memset(void *str, int c, size_t n);复制字符 c(一个无符号字符)到参数 str 所指向的字符串的前 n 个字符返回值:该值返回一个指向存储区 str 的指针。参数(1)str – 指向要填充的内存块。(2)c – 要被设置的值。该值以 int 形式传递,但是函数在填充内存块时是使用该值的无符号字符形式。(3)n – 要被设置为该值的字符数。#include <stdio.h&

2021-10-11 23:44:04 1772

原创 c语言:拷贝内存函数memcpy()

一、memcpy()<string.h>函数原型:void *memcpy(void *str1, const void *str2, size_t n) ;从存储区 str2 复制 n 个字节到存储区 str1;返回值:该函数返回一个指向目标存储区 str1 的指针;// 将字符串复制到数组 dest 中#include <stdio.h>#include <string.h> int main (){ const char src[50]

2021-10-11 23:39:36 3367

原创 c语言:拷贝字符串

一、strcpy():容易溢出头文件:#include <string.h>strcpy() 函数用来复制字符串;其原型为:char *strcpy(char *dest, const char *src);strcpy()是依据 \0 作为结束判断的;通常,我们的 from 都来源于用户的输入,很可能是非常大的一个字符串,因此 strcpy 不够安全;(1)【参数】dest 为目标字符串指针,src 为源字符串指针;(2)注意:src 和 dest 所指的内存区域不能重叠,且d

2021-10-11 23:31:46 6034

原创 TCP协议详解

一、特点基于流的方式。面向连接。可靠通信。在网络状况不佳时候尽量降低系统由于重传带来的带宽开销。通信连接维护是面向通信的两个端点的,而不考虑中间网段和节点。二、协议规定数据分片:在发送端对用户数据进行分片,在接收端进行重组,由TCP确定分片的大小并控制分片和重组;到达确认:接收端接收到分片数据时,根据分片数据序号向发送端发送一个确认;超时重发:发送方在发送分片时启动超时定时器,如果在定时器超时之后没有收到相应的确认,重发分片;滑动窗口:TCP连接每一方的接收缓冲空间大小都固定,接收

2021-10-08 23:55:33 2574

Xshell-6.0.0175p.rar

Xshell-6.0.0175p.rar

2021-09-01

Xftp-6.0.0169p.rar

Xftp-6.0.0169p.rar

2021-09-01

C++代码规范.rar

C++代码规范.rar

2021-09-01

c语言linux版本杀死指定名称的进程

c语言linux版本杀死指定名称的进程

2021-09-01

半音阶口琴入门乐谱.rar

半音阶口琴入门乐谱.rar

2021-09-01

哈工大研究生学位论文写作指南(理工类)2021.doc

哈工大研究生学位论文写作指南(理工类)2021.doc

2021-09-01

火萤视频桌面安装文件windows

火萤视频桌面安装文件windows

2021-09-01

空空如也

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

TA关注的人

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