
网络编程
文章平均质量分 67
WDhani82475
当你唯一的工具是锤子时,什么在你眼里都是钉子。
展开
-
linux进程
进程与程序、线程区别:一、概念:进程:进行当中的一次过程。进程是动态的。程序:是一些保存在硬盘上的可执行的代码。程序是静态的。线程:是计算机中独立运行的最小单位,运行时占用很少的系统资源。多进程和多线程都是并行执行,进程与进程之间、线程与线程之间都是独立执行的。二 进程的标识:进程是通过唯一的进程ID标识。进程的ID是一个非负数。ID为0的进程,称为系统进程,是内核的一...原创 2017-10-27 20:52:10 · 272 阅读 · 0 评论 -
排序(快排、归并、希尔、堆、选择、冒泡、二分查找)
快排堆>归并>快排(时间)思想:采用了分治法。 特点:算法不稳定,时间平均复杂度为(o(nlogn))<不停地交换和比较> 过程《从小到大》: 1、从数列中找出一个基准值(第一个) 2、当first归并思想:采用分治法 特点:O(n(logn)) 过程: 1、递归分解(从中间),分解成有序的(一个数) 2、相邻的两个组进...原创 2018-05-14 17:36:00 · 441 阅读 · 0 评论 -
IPC之消息队列(msg)
消息队列概念: 消息队列:由标记值和消息内容组成(long型标记值,和链表)过程 ser: 1、 建立一个消息队列 2、发送数据 (发送时,发送结构体大小,即标记和内容) 3、接收数据cli: 1、接收数据 ,(接收数据时,length表示数据的长度) 2、发送数据原理 代码: 点击我!!“msg”总结 1...原创 2018-04-28 17:25:59 · 522 阅读 · 0 评论 -
IPC之共享内存(shm_sem)
共享内存声明: shm的通信效率极高,但是不提供同步不机制shm的实现图解 声明: 1、ser发送的数据,会被ser直接读取;cli同理 2、ser进过开辟空间、建立连接、数据的读写操作、断开连接、释放空间 3、cli进行连接空间,数据的操作、断开连接即可shm通信图解声明: 1、增加sem作为同步机制,实现通信 2、p...原创 2018-04-28 14:02:20 · 1221 阅读 · 0 评论 -
网络基础&&socket编程(子网掩码、网络分类、tcp、udp)
网络基础进程间通信与socket编程的区别 1、进程间通信,是在同一台电脑上同信 2、socket网络编程,同一局域网ipv4、ipv6: ipv4:占32位,容纳主机数为 2^32-1 ipv6 :占128位,容纳主机数 2^128-1 网络分类: 1、A类 0 000 0000 ——0 111 1111 2、B类 10 00 0000 ——...原创 2018-05-05 16:29:00 · 1261 阅读 · 0 评论 -
网络协议的划分7层、5层、4层
7层解释: 7层协议是由国际标准化组织(iso)提出的开发系统互联参考模型(osi) 包括:(从上到下) 应用层-—表示层—会话层—传输层—网络层—数据链路层—物理层5层包括:(从上到下) 是指协议栈 应用层—传输层—网络层—数据链路层—物理层4层解释 是指tcp/ip参考模型 包括:(从上到下) 应用层—传输层—网际层—网络接口层转载各层协议的作用与联系]...转载 2018-05-17 17:55:51 · 990 阅读 · 0 评论 -
生产者 与消费者模型(mutx、cond)
模型生产者——消费者认识:一个盘子只能放5个苹果,小明有100个苹果,小张、小刘等着取盘子的苹果;小明放供他们取。(盘子成了有界缓冲区)盘子里面有5 个就不能放,盘子里面为空不能取苹果。实现原理: 利用互斥量和条件变量进行同步,实现的一种机制,遵循有界缓冲区不满,生产者就写数据;不空消费者就读数据理解:代码#include<std...原创 2018-05-03 21:19:07 · 476 阅读 · 0 评论 -
IPC 机制(sem、同步与异步)
声明同步 同步,并发性不高;例如主函数中有子函数,子函数调用子函数,这样会一直调用函数,阻塞等待的过程。异步> 并发性高,例如多进程、多线程。 一旦设备准备好,就主动通知应用程序,这种情况下应用程序就不需要查询设备状态;异步是相对于同步而言,两个进程之间不影响,例如fork一个进程进程同步机制 pipe、fifo、信号量(二值信号量)、共享类存...原创 2018-04-25 07:56:09 · 2265 阅读 · 0 评论 -
读写锁(rwlock、pthread_cancel、pthread_cleanup_push、pthread_cleanup_pop)
读写锁原因: 基于效率,用于共享内存 原理: 1、多个线程可以同时用于读操作;单个线程只能用于写操作 2、当cpu资源释放后,存在读锁、和写锁时,一般根据系统不同,读锁和写锁的优先级不一样 3、读优先时,只有写时才会被阻塞 if(rw->rw_refcount<0) 4、写优先时,正在读或者写等待时会阻塞if((rw->rw-&g...原创 2018-05-02 14:47:34 · 340 阅读 · 0 评论 -
线程(create、mutex、cond)
线程与进程区别 1、进程独占内存空间,线程共享内存空间 2、通信,进程间的数据相互独立,线程间数据共享,通信时,不需要通过操作系统 3、进程的调度切换速度慢,线程的速度快<共享地址空间>二者之间的关系 管家和马仔的关系,马仔主要干活;管家分配金钱。 同理,进程拥有资源,线程是执行的最小单位。 雇佣多个管家干活,效率低、还...原创 2018-04-30 23:35:07 · 564 阅读 · 0 评论 -
linux进程(02)
fork & vfork fork:用于创建进程,进程创建成功时,子进程返回0;创建失败时,返回-1;父进程返回子进程的id号 fork:除了进程的id号不同,父子进程的内容一样,执行顺序不同;一般情况要满足僵进程,借助wait()或者waitpid()函数 vfork:由于父进程主要是为了创建子进程,若用fork创建时,会造成资源的浪费;因此,fork应用而生。 ...原创 2018-04-11 14:18:11 · 273 阅读 · 0 评论 -
进程间通信(pipie、ctime、access、fifo、fifo_fork)
声明: 1、进程间通信,即进程与进程进行信息交换,两个进程必须处于运行,否则,通信结束 2、管道分为有名管道和无名管道都为半双工通信(数据流是单向的) 3、通信,即信息交互需求不同,方式不同(电话、发电报、发邮箱、微信等等)普通管道概念: 无名管道,只能用于解决具有共同祖先进程之间的通信(必须具有亲缘关系)步骤: 1、fork出一个进程 ...原创 2018-04-14 16:15:44 · 1085 阅读 · 0 评论 -
文件、目录的操作(dup,fcntl,stat)
文件分类: 普通文件 、块特殊文件、fifo、套接字文件、链接文件、符号文件使用查看命令: man open 打开函数// 打开 文件名 类型(已存在) int open(const char *pathname, int flags);// 打开、创建 文件名 类型(不存在) 模式 int open(const char *pathna...原创 2018-04-14 12:04:49 · 259 阅读 · 0 评论 -
TCP/IP协议族分层管理与http协议的作用
Tcp/Ip分层管理模型概念:tcp/ip协议族按层次分别为:应用层、传输层、网络层、和数据链路层 发送端从应用层往下走,接受端则从下往上走。发送端在层与层之间传递信息时一定会加上该层的首部信息。反之,接收端在层与层传递数据时,每经过一层会把首部去掉。 浏览一个网页时,经过哪些步骤?http协议:(作为浏览器和服务器之间的转化接口)主要将浏览器请求的页面转换...原创 2018-03-25 11:44:18 · 515 阅读 · 0 评论 -
tcp状态图的理解以及TIME_WAIT状态
一、tcp状态转移图解释: 1、包括服务器端和客户端,两个走向。 2、状态有11中,主要的有CLOSED LISTEN SYN_RCVD SYN_SENT ESTABLISHED FIN_WAIT 1 FIN_WAIT 2 TIME_WAIT CLOSING CLOSE_WAIT LAST_ACK 二、TIME_WAIT 的状态图声明:se...转载 2018-05-30 13:44:21 · 454 阅读 · 0 评论