自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Linux内核协议栈(11)路由系统

/** 查询路由表** rp:路由表** dst:目的地址** src:源地址** tos:** oif:** protocol:协议*/static inline int ip_route_connect(struct rtable **rp, __be32 dst, __be32 src, u32 tos, int oif, u8 protocol,

2016-03-29 22:28:36 591

原创 Linux内核协议栈(8)IO复用select函数

未完待续...

2016-03-27 21:07:22 335

原创 Linux内核协议栈(7)listen函数分析

监听函数主要干了两件事:1.建立接受队列,并为接受队列分配空间2.将sock对象设置为监听状态,并放入监听哈希表/* * Perform a listen. Basically, we allow the protocol to do anything * necessary for a listen, and if that works, we mark the socket

2016-03-27 21:05:23 481

原创 Linux内核协议栈(附3)udp_lib_get_port函数

/** * udp_lib_get_port - UDP/-Lite port lookup for IPv4 and IPv6 * * @sk: socket struct in question * @snum: port number to look up * @saddr_comp: AF-dependent comparison o

2016-03-27 20:33:43 1436

原创 Linux内核协议栈(附2)内核如何通过file对象找到对应的socket对象?

socket建立后,其他socket 调用都是通过操作得到的文件描述符来操作socket的。基本上开始都会有这句sock = sockfd_lookup_light(fd, &err, &fput_needed);//通过fd找到file,进而找到sock通过文件描述符找到file对象容易理解。但file对象怎么跟socket对象联系起来的呢?我们进入该函数:static st

2016-03-27 14:45:11 1118

原创 IO端口和IO内存

IO端口:当寄存器或内存位于IO空间时,称为IO端口。IO内存:当寄存器或内存位于内存空间时,称为IO内存。对于某一既定的系统,它要么是独立编址、要么是统一编址,具体采用哪一种则取决于CPU的体系结构。 如,PowerPC、m68k等采用统一编址,而X86等则采用独立编址,存在IO空间的概念。目前,大多数嵌入式微控制器如ARM、PowerPC等并不提供I/O空间,仅有内存空间,可直

2016-03-24 16:17:47 531

原创 读Linux内核(4.9.9)之bind系统调用

在调用socket成功返回后,我们得到与socket关联的文件描述符。然后我们以该描述符和sockaddr地址结构对象为参数调用bind,就实现了socket对象地址的绑定。那这个绑定到底是个什么意思?这个绑定操作是必须吗?绑定操作之后,socket对象又发生了什么?也许还有更多的疑问,我们在协议栈的源码寻找答案。先贴上bind系统调用的源码:/* * Bind a name to a sock...

2016-03-23 22:05:00 2105

原创 Linux内核协议栈(4) 跟踪sendto调用

未完待续...

2016-03-23 22:03:27 2320

原创 读Linux内核(4.9.9)之socket调用分析

我们知道要读写一个文件可以使用open调用,得到文件描述符,然后就可以用read读文件,使用write写文件。而socket就相当于open(事实上linux为了实践万物皆文件实现了一个虚拟文件系统sockfs,socket系统调用之后就是在sockfs文件系统上建立了一个文件,只是这个文件是特殊的socket文件,我们先不去探究sockfs文件系统,我现在只需知道socket之后建立一个特殊的s...

2016-03-23 16:59:59 2634

原创 Linux内核协议栈(2) 由简单的socket编程例子开始

经过这段时间,我的感悟是:数据结构,数据结构,数据结构——重要的事情要强调三次。协议栈就是帮我们发送和接收数据的,而TCP/IP协议是分层的结构,在内核有用户空间和内核空间的区分,协议栈在实现时在不同的层次使用的不同的数据结构。另外一个感悟是:阅读内核代码要有面向对象的思维。Linux虽然是C写的,而C不是面向对象的语言,但是内核却是用C和面向对象的思想写出来的——感觉矛盾?没关系,先有个印象

2016-03-20 19:39:58 496

原创 Linux内核协议栈(1) 前言

很早之前想深入的研究内核协议栈的源码,但是由于各种原因,一直都没有进行。各种原因有时间原因,毅力原因,也许更重要的是知识储备和方法论的问题——所谓的内功吧,毕竟对于菜鸟,能读懂协议栈源码真是件不容易的事。最近再次把这件事做起来,也终于感觉有点眉目了,所以做一次记录。

2016-03-20 19:20:18 432

原创 Linux内核协议栈(附1)inet_create函数注释

* * Create an inet socket.------->建立一个inet类型的套接字 */sockstatic int inet_create(struct net *net, struct socket *sock, int protocol){ struct sock *sk; //INET地址族为上层提供的一个抽象 struct inet_protosw *a

2016-03-19 22:18:52 1341

原创 系统调用sendto

SYSCALL_DEFINE6(sendto, int, fd, void __user *, buff, size_t, len,unsigned, flags, struct sockaddr __user *, addr,int, addr_len){struct socket *sock;struct sockaddr_storage address;int err

2016-03-19 11:54:39 967

奥比中光3D摄像头驱动(包含Linux和Windows)

OpenNI-Linux-Arm-2.3.0.66 OpenNI-Linux-Arm64-2.3.0.66 OpenNI-Linux-x64-2.3.0.66 OpenNI-Linux-x86-2.3.0.66 Windows-x64 Windows-x86

2023-03-16

Linux 下制作Windows 启动盘

Ubuntu等Linux系统下 下制作Windows 启动盘

2023-03-11

mac mounty

mac下读写ntfs,免费,方便,非常方便的小软件,操作简便

2019-01-18

bcprov加密库

org.bouncycastle.openssl.PEMException: problem parsing ENCRYPTED PRIVATE KEY: java.lang.SecurityException: JCE cannot authenticate the provider BC at org.bouncycastle.openssl.PEMReader$EncryptedPrivateKeyParser.parseObject(Unknown Source) at org.bouncycastle.openssl.PEMReader.readObject(Unknown Source) at org.whispersystems.textsecuregcm.push.RetryingApnsClient.initializePrivateKey(RetryingApnsClient.java:135) at org.whispersystems.textsecuregcm.push.RetryingApnsClient.(RetryingApnsClient.java:65) at org.whispersystems.textsecuregcm.push.APNSender.(APNSender.java:61) at org.whispersystems.textsecuregcm.WhisperServerService.run(WhisperServerService.java:182) at org.whispersystems.textsecuregcm.WhisperServerService.run(WhisperServerService.java:111) at io.dropwizard.cli.EnvironmentCommand.run(EnvironmentCommand.java:43) at io.dropwizard.cli.ConfiguredCommand.run(ConfiguredCommand.java:87) at io.dropwizard.cli.Cli.run(Cli.java:78) at io.dropwizard.Application.run(Application.java:93) at org.whispersystems.textsecuregcm.WhisperServerService.main(WhisperServerService.java:283) Caused by: java.lang.SecurityException: JCE cannot authenticate the provider BC at javax.crypto.Cipher.getInstance(Cipher.java:656) at javax.crypto.Cipher.getInstance(Cipher.java:595) ... 12 more Caused by: java.util.jar.JarException: file:/opt/code/signal-Server-master/target/TextSecureServer-1.87.jar has unsigned entries - org/whispersystems/dispatch/DispatchManager$4.class at javax.crypto.JarVerifier.verifySingleJar(JarVerifier.java:502) at javax.crypto.JarVerifier.verifyJars(JarVerifier.java:363) at javax.crypto.JarVerifier.verify(JarVerifier.java:289) at javax.crypto.JceSecurity.verifyProviderJar(JceSecurity.java:164) at javax.crypto.JceSecurity.getVerificationResult(JceSecurity.java:190) at javax.crypto.Cipher.getInstance(Cipher.java:652) ... 13 more --------------------- 作者:idwtwt 来源:CSDN 原文:https://blog.csdn.net/idwtwt/article/details/83793940 版权声明:本文为

2018-11-06

数值分析 索尔 中文版 扫描版

全网最低分,高质量文档,数值分析 ,国内外最权威著作

2018-09-19

深度学习入门之PyTorch.pdf

带完整目录,个人专门编辑,非常好的深度学习入门文档

2018-09-05

fer2013.tar.gz

表情识别数据fer2013,原地址在https://www.kaggle.com/c/challenges-in-representation-learning-facial-expression-recognition-challenge/data

2018-08-08

source insight 宏

source insight 宏,快捷添加文件头,函数头注释等宏

2017-06-13

java反编译工具

java反编译工具

2016-09-16

android备份,恢复源码

功能:备份联系人,短信到邮箱或sd卡,从sd卡,邮箱恢复短信,联系人,大部分有详细解释

2013-12-22

vc波形实时显示,可以多路

别人写的一个类,相当于控件;挺好用的;里面有使用的介绍

2012-05-14

红外模拟调制发射接收

老师给的一个红外调制发射接收器,由巴特沃斯滤波器组成,还没有经过实践验证,现分享一下

2012-01-12

PCF8591中文手册

PCEF8591的中文技术手册,翻译得还过得去,分享给大家,希望对英文不好的用些好处

2011-05-01

空空如也

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

TA关注的人

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