妖妖灵誓言
码龄4年
  • 72,618
    被访问
  • 58
    原创
  • 38,076
    排名
  • 7
    粉丝
关注
提问 私信

个人简介:分享

  • 加入CSDN时间: 2018-04-30
博客简介:

张幺幺的博客——学习记录

查看详细资料
  • 3
    领奖
    总分 344 当月 14
个人成就
  • 获得24次点赞
  • 内容获得7次评论
  • 获得109次收藏
创作历程
  • 10篇
    2022年
  • 32篇
    2021年
  • 2篇
    2020年
  • 10篇
    2019年
  • 9篇
    2018年
成就勋章
TA的专栏
  • 网络编程
    12篇
  • linux
    3篇
  • 网络通信
    20篇
  • C语言
    13篇
  • 路由
    3篇
  • 进程间通信
    2篇
  • opencv
  • ps
  • mysql
    1篇
  • remote desktop
  • deep learning
    3篇
  • ubuntu
    13篇
  • win10
    1篇
兴趣领域 设置
  • 网络
    httpudphttpswiresharktcpdump网络协议tcp/iprpc
  • 最近
  • 文章
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

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

网卡收发包的基本概念
原创
发布博客 2022.03.27 ·
996 阅读 ·
0 点赞 ·
0 评论

rstp要点7:Times总结

rstp的时间信息
原创
发布博客 2022.02.14 ·
87 阅读 ·
0 点赞 ·
0 评论

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

RSTP的P/A协商机制
原创
发布博客 2022.02.09 ·
529 阅读 ·
0 点赞 ·
0 评论

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

rstp Alternate口和Backup口的选举
原创
发布博客 2022.02.09 ·
893 阅读 ·
0 点赞 ·
0 评论

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

RSTP边缘端口机制
原创
发布博客 2022.02.09 ·
1596 阅读 ·
0 点赞 ·
0 评论

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

1. hello、forwarddelay、maxage配置生效2. message age 与 maxage
原创
发布博客 2022.02.09 ·
324 阅读 ·
0 点赞 ·
0 评论

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

rstp的桥优先级是4096的倍数原因
原创
发布博客 2022.02.09 ·
349 阅读 ·
0 点赞 ·
0 评论

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

rstp端口优先级是16的倍数原因
原创
发布博客 2022.02.09 ·
1217 阅读 ·
0 点赞 ·
0 评论

C语言长字符串拆分

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

ARP协议基础-部分

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

C语言:位段

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

二层网络通信

​一、前言基础交换机实现数据链路层数据帧的转发,它连接终端设备,在收到数据帧时进行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 ·
288 阅读 ·
1 点赞 ·
0 评论

代码查错手段

1. 死循环死循环一定会占满CPU,可以通过查看cpu占用来判断是否有死循环。2. 函数出错,检查方式(1)先检查输入是否正确,参数格式,输入内容。(2)查看对应错误码。(3)确定具体报错位置,定位错误。...
原创
发布博客 2021.10.31 ·
98 阅读 ·
0 点赞 ·
0 评论

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 阅读 ·
0 点赞 ·
0 评论

send、recv、sendto、recvfrom

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

c语言性能优化

结构体对齐结构体中尽量保持偶数字节对齐(2,4,8),这样在cpu缓存读取时可减少读取次数,加快速度。
原创
发布博客 2021.10.31 ·
30 阅读 ·
0 点赞 ·
0 评论

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 ·
34 阅读 ·
0 点赞 ·
0 评论

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 ·
107 阅读 ·
0 点赞 ·
0 评论

原码-反码-补码转换

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

C语言常见错误

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