logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

【Linux 内核网络协议栈源码剖析】connect 函数剖析(一)

TCP客户用 connect 函数来建立与 TCP 服务器的连接,其实是客户利用 connect 函数向服务器端发出连接请求。1、应用层——connect 函数#includeint connect(int sockfd, const struct sockaddr *servaddr, socklen_t addrlen);/*sockfd是由socket函数返回的套接口描述字,第

【Linux 内核】文件系统(结构篇)

ok,继前面概念篇之后,我们开始正式的探讨下Linux的文件系统。文件系统是对一个存储设备上的数据和元数据进行组织的机制(教材式还是需要的),在前面的概念篇有说到,Linux支持大多数文件系统,可以预料到Linux文件系统接口实现为分层的体系结构,从而将用户接口层、文件系统实现和操作存储设备的驱动程序分隔开。Linux源码(Linux/fs文件夹下)下会有Linux支持的各种文件系统的代码实现,

#linux
【Linux 内核网络协议栈源码剖析】socket.c——BSD Socket层(1)

写在前面:本系列文章先把各个层对应的文件源码剖析一遍,最后再穿插起来,理清整个协议栈网络数据包的上下传送通道,从整体实现上进行把握。这里主要是介绍BSD socket层对应 socket.c 文件中的函数。

#网络协议
【Linux 内核网络协议栈源码剖析】ARP地址解析协议

ARP地址解析协议理论前篇参见ARP与RARP,这里则通过源码(Linux kernel 1.2.13;net\inet\arp.c)来剖析其内部原理及实现过程。

【Linux 内核网络协议栈源码剖析】socket 函数剖析

深度剖析网络协议栈中的 socket 函数,可以说是把前面介绍的串联起来,将网络协议栈各层关联起来。

#网络协议#网络
【Linux 驱动】Netfilter/iptables (五) 数据包过滤

通过前面的学习,我们窥探了整个Netfilter框架,下面我们就通过一些编程实例来进一步学习。一. 基于网络设备接口进行数据包过滤根据hook函数接收的参数中的 struct net_device 结构,net_device 结构体用于描述网络接口设备,其中name这个成员表示对应设备的名字,我们可以通过比对来判断数据包的源接口或目的接口。/*安装一个丢弃所有进入我们指定接口的数据包的 netf

【Linux 内核网络协议栈源码剖析】sendto 函数剖析

前面介绍的函数基本上都是TCP协议的,如listen,connect,accept 等函数,这都是为可靠传输协议TCP定制的。对于另一个不可靠udp协议(通信系统其可靠性交由上层应用层负责),则主要由两个函数完成,sendto 和 recvfrom 函数。这里先介绍 sendto 函数。对于 udp 协议的介绍和编程实现请参考下文:UDP 客户/服务器简单 Socket 程序简要介绍下UD

#udp#网络协议
【深度探索STL】详解 list

List 就是链表,这个我们在很久之前就学习过了单向链表,双向链表。之前对STL有过大概的剖析,但没涉及到链表,早几天使用到了STL中的,对其中的有些细节不明了,特意重新阅读了下源码,对STL中的List加深一下理解。1、List 概述list 和 vector 是两个最常用的容器(序列式容器)。二者最显著的区别自然就是vector是连续线性空间,list则是不连续线性空间,相比于v

#链表
【深度探索STL】详解 vector 内部机制

前面初步介绍了序列式容器 vector :初识序列式容器vector,这里试图通过简单剖析源码来了解 vector 的内部机制,参考资料:《STL 源码剖析》(侯捷)

【STL】序列式容器:vector

先简单的说下序列式容器,该类容器是有序群集,其中每个元素均有固定的位置——取决于插入时间和地点,和元素值无关。换言之,就是容器中的元素位置取决于你插入该元素的时间或(和)往哪个位置插入。比如有的容器提供尾端追加元素函数,有的容器还提供向某位置插入某元素。STL 提供三个定义好的序列式容器:vector,deque,list。这里学习vector。vector 将其元素置于一个动态数组中加以管理

#容器
    共 19 条
  • 1
  • 2
  • 请选择