关闭

[置顶] socket基础之c/s通信过程

socket可以看成是用户进程与内核网络协议栈的编程接口,socket不仅可以用于本机的进程间通信,还可以用于网络上不同主机的进程通信。 这里所说的不同主机例如手机与PC的通信,为什么说手机与PC为不同主机?只是因为其外观不同吗?不是的,首先手机与PC的软件不同,其次是两者的硬件架构不同,手机采用的是ARM架构而PC大多是x86的架构(至于这两者架构有什么区别,博主现在还不了解,待后续补充,先自行...
阅读(494) 评论(0)

[置顶] TCP(1)---三次握手及四次挥手

TCP(Transmission Control Protocol)主要特点: 面向连接的运输层协议,也就是说程序使用TCP前需建立TCP连接,传输完毕后需释放连接,也就是说应用程序类似 “接电话”,但也要 “挂电话”。 每个TCP连接仅两个端点,每条TCP连接只能点对点传输。 TCP提供全双工通信。TCP允许通信双方应用进程任何时候都可发数据。TCP连接的两端都设有发送缓存和接收缓存,用来临时存放...
阅读(153) 评论(0)

[置顶] wait及waitpid函数

转载前注明出处 欢迎转载分享 一个进程调用了exit之后,该进程并非马上就消失掉,而是留下一个称为僵尸进程(Zombie)的数据结构。在Linux进程的5种状态中,僵尸进程是非常特殊的一种,它已经放弃了几乎所有内存空间,没有任何可执行代码,也不能被调度,仅仅在进程列表中保留一个位置,记载该进程的退出状态等信息供其他进程收集,除此之外,僵尸进程不再占有任何内存空间。从这点来看,僵尸进程对系统毫无作用...
阅读(125) 评论(0)

[置顶] 结构体及柔性数组

转载前注明出处,欢迎转载分享 结构体: 大小:结构体的大小不是说结构体中的每个变量的数据类型之和就是结构体的大小,而是按照内存对齐的方式来计算的。 1 2 3 4 5 6 7 8 9 struct test {     char a;     int b;     char c;     char *d;     short e;     long long f...
阅读(192) 评论(0)

[置顶] 浅析fork系统调用

转载前注明出处,欢迎转载分享 fork函数 Linux下创建新进程的系统调用是fork,其定义如下: #include #include pid_t fork ( void ) ; 该函数每次调用返回两次,其中: 在父进程中返回的是子进程的 PID 在子进程中返回值是0 fork函数调用失败则返回-1 于是我们可以用pid = fork(...
阅读(89) 评论(0)

计算机网络读书笔记——网络层(1)

网络层负责在不同网络之间尽力转发数据包,基于数据包的IP地址转发,如果丢包不负责丢失重传,也不负责传输顺序。网络设备及数据转发过程路由器是三层设备,因为它能看到网络层的地址,根据网络层地址去选择路由;交换机是二层设备,也就是说它能够将比特流存储,然后看懂数据链路层上数据帧的控制信息中的MAC地址,根据数据帧上的MAC地址从而进行数据转发;集线器是工作在物理层的一层设备,只能进行比特流的转发,作用是能...
阅读(67) 评论(0)

1.计算机硬件组成

冯诺依曼体制 引进存储程序概念 计算机以运算器为核心的集中式控制 指令由操作码和地址码两部分组成,指令在计算机中是顺序执行的,并受PC的统一控制。 提出计算机系统应由:运算器、控制器、存储器、输入设备和输出设备五大部分组成。 这些理论奠定了现代计算机的基本思想,在到目前为止,大多数计算机仍沿用这一体制,人们称其为冯诺依曼体制。 运算器运算器就好像是一个由电子线路构成的算盘,它的主要功能是通过相加和...
阅读(98) 评论(0)

unp源码文件编译安装

下载unp中的源代码:点击下载切换到解压后的目录 unpv13e,先查看下 README,依次执行:./configurecd lib makecd ../libfree make 此处报错: inet_ntop.c:56:1: error: conflicting types for ‘inet_ntop’ inet_ntop(af, src, dst, size) ^...
阅读(74) 评论(0)

vim查找替换

:n,$s/SeqList/LinkList/ 替换第 n 行开始到最后一行中每一行的第一个SeqList为LinkList:n,$s/SeqList/LinkList/g 替换第 n 行开始到最后一行中每一行所有SeqList为LinkList(n 为数字,若 n 为 .,表示从当前行开始到最后一行):%s/SeqList/LinkList/ 替换每一行的第一个SeqList为LinkList:%...
阅读(69) 评论(0)

循环链表

单链表的局限 单链表可以用于表示任意的线性关系 有些线性关系是循环的,即没有队尾元素 循环链表的定义将单链表中最后一个数据元素的next指针指向第一个元素循环链表拥有单链表的所有操作 创建链表 销毁链表 获取链表长度 清空链表 获取第pos个元素操作 插入元素到位置pos 删除位置pos处的元素 游标的定义在循环链表中可以定义一个“当前”指针,这个指针通常称为游标,可以通过这个游标(slider)来...
阅读(32) 评论(0)

void空类型指针仅传地址无指向操作

#include #include int main() { //void * 指针类型:指向空类型或不指向确定的类型数据的指针。 void *p1=NULL; int a=3; p1=&a;//p1得到a的纯地址,但并不指向a,不能通过*p1操作a //printf("p1=%d,*p1=%d\n",p1,*p1);不...
阅读(45) 评论(0)

线性表的线性存储和链式存储

顺序存储结构线性表的顺序存储结构,指的是用一段地址连续的存储单元依次存储线性表的数据元素。在C语言中可以用一维数组或连续堆空间来实现顺序存储结构 1. 存储空间的起始位置:数组node 2. 线性表的最大容量:数组长度MAXSIZE,也可用malloc申请对空间 3. 线性表的当前长度:length#define MAXSIZE 20typedef struct _tag_List {...
阅读(47) 评论(0)

计算机网络读书笔记——数据链路层(5)

扩展的以太网在物理层扩展以太网以太网主机的距离不能太远,否则主机发送的信号经过铜线的传输就会衰减到使CSMA/CD协议无法正常工作。在过去广泛使用粗缆或细缆以太网时,常使用工作在物理层的转发器来扩展以太网的地理覆盖范围。那时两个网段可用一个转发器连接起来(单个网段被限制为不超过500米长),IEEE 802.3标准还规定,任意两个站之间最多可以经过三个电缆网段。但随着双绞线以太网成为以太网的主流类型...
阅读(93) 评论(0)

计算机网络读书笔记——数据链路层(4)

以太网的两个标准 DIX Ethernet V2是世界上第一个局域网产品(以太网)的规约。 IEEE的802.3标准。 DIX Ethernet V2标准与IEEE的802.3标准只有很小的差别,因此可以将802.3局域网简称为“以太网”,但严格来说,“以太网”应当是指符合DIX Ethernet V2标准的局域网。 以太网与数据链路层的两个子层 为了使数据链路层更好适应多种局域网标准...
阅读(149) 评论(0)

计算机网络读书笔记——数据链路层(3)

广域网是使用点到点信道的数据链路层,使用的是PPP协议 局域网是使用广播信道的数据链路层 局域网的特点是:网络为一个单位所拥有,且地理范围和站点数目均有限。 局域网具有如下的一些主要优点: 具有广播功能,从一个站点可很方便地访问全网。局域网上的主机可共享连接在局域网上的各种硬件和软件资源。 便于系统的扩展和逐渐地演变,各设备的位置可灵活地调整和改变。 提高了系统的可靠性、可用性和生存性...
阅读(120) 评论(0)

Vim常用操作

esc表示退出编辑模式,进入命令行模式 i进入INSERT插入模式dd删除光标所在行 ndd(n为一个任意常数)表示删除从光标所在行开始的n行 yy复制光标所在行 nyy(n为一个任意常数)表示复制从光标所在行开始的n行 p表示在当前行后粘贴 shift+p表示在当前行前粘贴 u表示撤销操作 ctrl+r表示反撤销操作gg跳至第一行行首 shift+g跳至最后一行行首a表示进入插入...
阅读(107) 评论(0)

计算机网络读书笔记——数据链路层(2)

点对点协议PPP早期通信线路质量较差,在数据链路层使用可靠传输协议曾经是种好方法,于是早期主要流行的是能实现可靠传输的高级数据链路控制HDLC(High-level Data Link Control),但随着通信线路质量的提升,对于点对点链路,现在多采用点对点协议PPP(Point-to-Point Protocol)。 PPP协议应满足的要求: 简单 封装成帧 透明传输 支持多种网络层协议 支...
阅读(72) 评论(0)

计算机网络读书笔记——数据链路层(1)

数据链路层的基本概念 当主机H1H_1向主机H2H_2发送数据时,我们可以想象数据就是在数据链路层从左向右沿水平方向传送,物理层中我们通过频分复用、时分复用等解决了传输速率的问题,所以在链路层主要判断数据帧的开头和结尾,从而来识别发送过程中是否出现某些错误,如果出现错误就丢弃数据包,如果未出现错误就发送给网络层。图中的路由器就是网络层设备,根据发送的数据的网络地址来选择合适路径,然后重新封装到数据...
阅读(62) 评论(0)

计算机网络读书笔记——物理层(2)

物理层下的传输媒体 上图中最下方即为物理层的传输媒体,传输媒体也称传输介质或传输媒介,传输媒体可分为两大类,即导向传输媒体和非导向传输媒体。导向传输媒体 双绞线 同轴电缆 光缆 上图为双绞线(无屏蔽双绞线UTP和屏蔽双绞线STP)和同轴电缆结构图双绞线它是最古老的但又最常用的传输媒体,把两根互相绝缘的铜导线并排放在一起,然后用规则的方法绞合,绞合可减少对相邻导线的电磁干扰,绞合度越高,获得的带...
阅读(144) 评论(0)

计算机网络读书笔记——物理层(1)

物理层的基本概念物理层考虑的是怎样才能在连接各种计算机的传输媒体上传输数据比特流,而不是指具体的传输媒体。 用于物理层的协议也常称为规程(procedure),其实物理层规程就是物理层协议。只是在“协议”这个名词出现之前人们就先使用了“规程”这一名词。数据在计算机中多采用并行传输的方式,但数据在通信线路上的传输方式一般都是串行传输(出于经济上的考虑),即逐个比特按照时间顺序传输,因此物理层要完成传...
阅读(83) 评论(0)

str函数源码

原文地址:http://blog.csdn.net/xingerr/article/details/702572341、strcpy函数 原型:char * strcpy(char * destin, const char * source) 作用:把source指向的字符串拷贝到destin指向的字符串中 代码: char * my_strcpy(char * destin, const char...
阅读(77) 评论(0)

MySQL(5)-存储过程

MySQL的存储过程SQL命令->MySQL引擎->(分析)语法正确->转换成MySQL可识别命令->(执行)执行结果->(返回)客户端 存储过程的概念:存储过程是SQL语句和控制语句的预编译集合,以一个名称存储并作为一个单元处理。 优点: 增强*SQL语句的功能和灵活性* 实现较快执行速度(第一次MySQL引擎会对SQL进行语法分析及编译,将编译结果存储在内存中,以后再次调用次存储过程时直接从内存...
阅读(102) 评论(0)

MySQL(4)-自定义函数

MySQL自定义函数自定义函数 用户自定义函数(user-defined function, UDF),是一种对MySQL扩展的途径,其用法与内置函数相同,自定义函数的两个必要条件: 参数 返回值 函数可以返回任意类型的值,同样可以接收这些类型的参数(理论上MySQL自定义函数参数不能超过1024个) 创建自定义函数CREATE FUNCTION [函数名]...
阅读(94) 评论(0)

MySQL(3)-子查询、连接、运算符及函数

子查询1. 子查询是指出现在其他SQL语句内的SELECT子句 2. 子查询指嵌套在查询内部,且必须始终出现在圆括号内 3. 子查询可以包含多个**关键字**或条件: DISTINCT(去重输出) GROUP BY(分组) ORDER BY(排序) LIMIT及函数 4. 子查询的外层查询可以是: SELECT INSERT UPDATE SET DO连接连接分为:外连接和内连接...
阅读(106) 评论(0)

MySQL(2)-约束的添加及删除

约束条件基本介绍: 约束: 1) 约束保证数据的完整性和一致性 2) 约束分为表级约束和列级约束 列级约束:约束只针对一个字段来使用 表级约束:约束针对两个及两个以上字段来使用 3) 约束类型包括: 主键约束(PRIMARY KEY) 唯一约束(UNIQUE KEY) 默认约束(DEFAULT) 非空约束(NOT NULL) 外键约束...
阅读(91) 评论(0)
46条 共3页1 2 3 下一页 尾页
    个人资料
    • 访问:6483次
    • 积分:276
    • 等级:
    • 排名:千里之外
    • 原创:42篇
    • 转载:4篇
    • 译文:0篇
    • 评论:0条