随笔分类 - linux 学习
linux 下的一些练习
及其重点网络编程
摘要:TCP协议下:当发送数据过长过短, 或缓冲区大小问题, 导致出现了所谓的 TCP“粘包”问题, 这是我们的俗称, TCP是流模式,并不是包;现象解释:TCP粘包是指发送方发送的若干包数据到接收方接收时粘成一包,从接收缓冲区看,后一包数据的头紧接着前一包数据的尾。出现粘包现象的原因是多方面的,它既可能...
阅读全文
摘要:引言本文会写一个并发服务器(concurrent server)程序,它为每个客户请求fork出一个子进程。注意1. 信号处理问题对于相同信号,按信号的先后顺序依次处理。可能会产生的问题是,正在处理sig1信号时,又来了2个或更多的sig1信号,此sig1时只会在处理完原来的sig1信号后,再处理1...
阅读全文
摘要:引言让服务器在启动阶段调用fork创建一个子进程池,通过子进程来处理客户端请求。子进程与父进程之间使用socketpair进行通信(为了方便使用sendmsg与recvmsg,如果使用匿名管道,则无法使用以上两个函数)。以下针对TCP进行分析。server端使用select轮询用于监听客户端请求的被...
阅读全文
摘要:快排采用分治法(Divide and Conquer)把一个list分为两个sub-lists。算法步骤1. 从数列中跳出一个元素,作为基准(pivot)。2. 重新排序数列,所有比基准值小的元素(elements pivot)放在基准值后面,与基准值相等的数可以放在任意一边。此操作即为分区(pa...
阅读全文
摘要:Linux网络编程4——个人总结TCP与UDP通信流程TCP通信的基本步骤如下:服务端:socket---bind---listen---while(1){---accept---recv---send---close---}------close客户端:socket----------------...
阅读全文
摘要:总结 TCP:详细内容在最下面,上面是过段时间的整理心得更加简洁易于复习使用TCP协议的流程服务端:socket -> bind -> listen -> accept -> recv -> send -> close 客户端:socket ------------------> connect...
阅读全文
摘要:数据存储优先顺序的转换计算机数据存储有两种字节优先顺序:高位字节优先(称为大端模式)和低位字节优先(称为小端模式)。内存的低地址存储数据的低字节,高地址存储数据的高字节的方式叫小端模式。内存的高地址存储数据的低字节,低地址存储数据高字节的方式称为大端模式。eg:对于内存中存放的数0x12 34 56...
阅读全文
摘要:引言条件变量是利用线程间共享的全局变量进行同步的一种机制,主要包括两个动作:一个线程等待条件变量的条件成立而挂起(此时不再占用cpu);另一个线程使条件成立(给出条件成立信号)。为了防止竞争,条件变量的使用总是和一个互斥锁结合在一起。函数原型1. 定义条件变量#include /* 定义两个条件变量...
阅读全文
摘要:#include #include #include #include #include #define CNT 20 /* 最多生产20个产品 *//* 用队列模拟车间 *//* front和tail初始化均为0,tail是下一个资源生成的下一个数组空间下标 */typedef...
阅读全文
摘要:$ git config --global user.name "Firstname Lastname"$ git config --global user.email "your_email@your_email.com"设置你的用户和邮箱。$ git init将一个文件夹纳入git版本控制。$ ...
阅读全文
摘要:#include #include #include #define N 20static void show(int *arr, int len){ int index; for(index = 0; index 前N-1个数放好位置,最后一个数就不用管了 */static void ...
阅读全文