自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 资源 (2)
  • 收藏
  • 关注

原创 sendto 返回errnor 1,错误码1 Operation not permitted

使用udp套接字发送失败,返回-1,错误码为1,ping操作显示Operation not permitted这个是防火墙导致的,使用iptables关掉防火墙去就没问题。iptables -F 

2018-11-22 22:13:22 5931

原创 C代码开发遇到的问题 变量初始化和结构体指针移动

1. 变量初始化函数内部的变量如果不初始化的话默认不是0而是一个随机值。下面的程序用来打印一个未初始化的无符号的整型值,执行几遍,每次的结果都会不一样#include <stdio.h>void PrintUint(){ /* 默认是随机值,不一定是0 */ unsigned int i; if (i != 0) { ...

2018-11-17 10:50:01 599

原创 Linux 内核源码分析 IPv6报文接收处理流程

内核版本 3.4.39实现一个IPv6报文转发功能的时候,需要对IPv6报文的扩展选项进行处理,还是直接参考下内核的处理比较稳妥,整理了IPv6报文的内核处理流程,如下图:...

2018-11-17 10:22:40 2829

原创 Linux信号 六 信号与线程的关系

" POSIX表示可移植操作系统接口(Portable Operating System Interface of UNIX,缩写为 POSIX ),POSIX标准定义了操作系统应该为应用程序提供的接口标准,是IEEE为要在各种UNIX操作系统上运行的软件而定义的一系列API标准的总称. POSIX标准意在期望获得源代码级别的软件可移植性。换句话说,为一个POSIX兼容的操作...

2018-11-10 14:47:14 674

原创 Linux信号 五 信号挂起与信号掩码操作接口集

A signal may be blocked, which means that it will not be delivereduntil it is later unblocked. Between the time when it is generatedand when it is delivered a signal is said to be pending. ...

2018-11-10 14:35:40 1295

原创 Linux信号 四 异步等待信号与同步等待信号接口

信号的同步等待和异步等待区别就是信号处理函数的执行与否,异步等待是信号处理函数已经执行了,同步等待是信号处理函数还没有执行。异步等待接口:pause() 和 sigsuspend()1. pause()/** * 等待信号 * pause()函数将调用进程/线程挂起,使之进入可中断的睡眠状态,直到传递了一个信号为止。 * 这个信号的动作或者是执行用户定义的信号处理函数,或者是终...

2018-11-10 12:04:03 1911

原创 Linux信号 三 信号发送接口集合

信号发送接口包括raise,kill,killpg,tkill,tgkill,pthread_kill,sigqueue等。1. raise()/** * raise用于向进程自身发送信号 * 成功返回0,失败返回非0值,并置errno. * 只有信号处理函数执行完毕之后,raise才能返回。 * * 对于单线程的程序而言,相当于调用了如下语句: * kill(getpid(...

2018-11-10 10:31:30 974

原创 Linux信号 二 信号处理函数注册

每一个信号都有一个信号处理函数,可以是SIG_IGN, SIG_DFL或者是用户自定义的处理函数。使用用户自定义的处理函数需要注册,注册接口有如下两种。第一种是signal调用#include <signal.h>/** * sighandler_t是GNU的扩展,如果在glibc下面使用的话,编译的时候需要加上-D_GNU_SOURCE * 或者手动定义 */...

2018-11-10 09:19:16 2792

原创 Linux信号 一 信号可靠性与分类

开发SNMP的时候用到了Linux信号机制,总结了一下关于信号的知识。信号是一种进程间通信手段,本质是一种软件中断,用来处理异步事件。信号机制是Unix家族里一个古老的通信机制。传统的信号机制有一些弊端,更为严重的是信号处理函数的执行流和正常的执行流同时存在,这可能会对软件运行带来一定问题。目录1. 信号的生命周期2. 信号的产生3. 信号的处理4. 信号的分类5. 信...

2018-11-09 08:56:28 933

原创 Golang Study 三 map的顺序输出

 GO语言中遍历map输出的时候是无序的,不同的遍历会有不同的输出结果,如果想要顺序输出的话,需要额外保存顺序,然后再从map中读取。随着Go语言的不断发展,官方或许会提供额外的顺序读取map方法,目前要想这么做的话就得自己实现了。下面是一个顺序读取map例子,将map的key值存储到一个slice数组中,然后对数组进行排序,这样就可以通过slice数组里的值顺序去读map。package ...

2018-11-08 22:49:43 4437

原创 SNMP功能开发简介 六 snmp功能开发阶段性总结

先说客户需求:能够通过SNMP协议获取设备信息便于管理。客户提出的需求信息转化成MIB结点都是Get类请求。背景&方案:我们的产品业务层是使用Go语言开发的,系统层基于OpenWrt(一个嵌入式的 Linux 发行版)。SNMP功能一年前在上家公司里接触过,当时是因为生产产品的时候需要通过snmp去进行相关的升级操作,那个时候还专门学测试了一下MIB结点的添加,也能够成功运行。虽说接触...

2018-11-04 13:13:08 2243 1

IPv6分片报文

IPv6分片报文,研究 IPv6协议扩展头部的时候可以使用。

2018-07-21

IPv6 UDP报文,

IPv6报文,分析IPv6报文的格式、构成等。希望有帮助。本来不想要分的,拿出来有人需要就看一下

2018-07-03

空空如也

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

TA关注的人

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