![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
linux c
十四木
这个作者很懒,什么都没留下…
展开
-
C++之静态链表添加
#include <iostream>#include <unistd.h>using namespace std;class Node{private: int num; static Node *head; Node *next;public: Node(int num); //~Node(); static void printList(); static void deleteList();};Node *Node::head = NULL;原创 2020-09-03 19:53:59 · 135 阅读 · 0 评论 -
shell正则表达式
正则表达式在Linux中,我们查找文件中的字符串一般会用grep。但我们不可能记住所有的东西,用邮箱来举例,我们记不住别人的邮箱,但我们一眼就能看出这是不是邮箱,要从一段话中找出哪些句子是邮箱,就可以使用正则表达式帮我们筛选。规定一些特殊语法表示字符类、数量限定符和位置关系,然后用这些特殊语法和普通字符一起表示一个模式,这就是 正则表达式。grep的正则表达式有Basic和Extendedegrep相当于grep -E,表示采用Extended正则表达式语法。fgrep相当于grep -F,表示只原创 2020-08-31 19:38:39 · 131 阅读 · 0 评论 -
Linux C 之搭建HTTP服务(二)
搭建服务器之处理目录上节,(link)搭建HTTP中我们只处理了普通文件,这节,我们尝试处理一下文件夹。要处理文件夹要明白文件夹以什么形式回馈给客户端。而且要清楚我要打开的文件夹不一样,应该反馈给客户端不一样的我们接上节的处理。生成html当打开文件夹时把文件夹中的所有文件给用(html)发送出来。所以如何写html就成了问题。这里建议使用唯一的id去定义这个html。因为我们要处理的并不是一个客户端,而是多个,如果仅有一个html的话容易出现错误,一般的处理是使用时间戳去定义(当然这里看自己的原创 2020-08-27 19:57:05 · 231 阅读 · 0 评论 -
Linux C之搭建HTTP服务器(一)
HTTP请求消息请求消息分为四部分内容请求行(请求类型,访问资源,http的版本)请求类型:GET和POST(绝大多数都是,还有很多如head,put,可以自己了解了解)请求头 (附加信息)空行 (不能省略 \r\n)请求数据(特定的请求内容)HTTP响应消息...原创 2020-08-26 21:06:38 · 1001 阅读 · 0 评论 -
Linux c 使用epoll搭建TCP服务器
为什么用epoll我们上次介绍过如何使用select去搭建TCP服务器,那一定对select的使用麻烦记忆尤深,主要还是select还是输入输出并不分离且内核和用户空间copy。想解决这种问题,可以采用poll或epoll,这样的方法,不仅解决了输入和输出分离的问题,还可以突破1024的上限,即使poll跟epoll跨平台较差,但他们优秀的性能的条件下这些都不是问题。要问他们有什么区别,一寸长,一寸强,从名字来看就知道epoll比poll更强大,他只会对活跃的连接起反应,所以在实际操作下,epoll的效率原创 2020-08-24 19:48:26 · 869 阅读 · 0 评论 -
Linux c 建立高并发服务器(select)实现
什么是select,为什么要用select我们前面介绍过如何使用多进程的方式实现服务器,使服务器能同时和多个客户端相连接,那我可不可以使用一个进程就解决这个问题,答案是肯定的。使用select的主旨就是不让应用程序自己去监视连接,取而代之的使用内核来监视。而且select具有跨平台性,是不是觉得立马高端了不少,但是select的缺点也很明显我们后面在谈。select的各个参数先来看看selet这个函数...原创 2020-08-21 21:35:16 · 967 阅读 · 0 评论 -
服务端(子进程创建)与多个客户端通信
思路创建socket绑定 bind IP+端口侦听 listen 第二个参数backlog循环获取对端连接 accept ,获取到则创建一个子进程用来进行通信父进程进行回收设置捕捉信号量在子进程死亡时退出退出释放资源#include <unistd.h>#include <sys/types.h>#include <sys/socket.h>#include <string.h>#include <stdio.h>#i原创 2020-08-20 20:11:15 · 840 阅读 · 0 评论 -
Linux c哲学家进餐问题(多线程版)
Linux c 实现哲学家吃饭问题(多线程版)哲学家进餐思路如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入哲学家进餐五个哲学家在一个桌子上就餐,只有五只筷子,一碗面,只有同时拿到了两根筷子才可以开始进餐,如何让这五个哲学家吃到饭。思路哲学家的问题也是一个死锁的问题,在计算机中代表当多个进程开始请原创 2020-08-18 22:24:14 · 3631 阅读 · 0 评论