05 2024 档案

WebSocket
摘要:目录简介握手过程数据传输1.数据帧格式关闭相对HTTP协议的优点 简介 WebSocket是一种传输层使用TCP协议的应用层协议,允许全双工通信。主要使用场景是WebServer向WebClient(如浏览器)推送数据。 握手过程 在客户端与服务端进行双工通信之前,需要完成握手过程。握手过程如下所示 阅读全文
posted @ 2024-05-19 02:15 scrutiny-span 阅读(20) 评论(0) 推荐(0) 编辑
虚拟机设置共享目录、网络设置
摘要:目录虚拟机设置固定IP1.桥接模式2.NAT模式虚拟机设置共享目录 学习过程中,可以使用虚拟机管理程序VMware Workstation安装虚拟机CentOs,Ubantu等,进行Linux开发环境的搭建。虚拟机环境为CentOs64位 虚拟机设置固定IP 1.桥接模式 选择需要设置固定IP的虚拟 阅读全文
posted @ 2024-05-16 21:12 scrutiny-span 阅读(38) 评论(0) 推荐(0) 编辑
gym
摘要:目录2024/5/15肱二三背部后束肩胸部 始于2022年10月1日,记录一下 2024/5/15 体重:74.6 肱二三 牧师凳哑铃弯举:单边17.5 双杠曲力臂:10/6 单手哑铃弯举:12.5 哑铃托举:22.5 背部 引体向上:8/5 高位下拉:75 划船:20 后束 蝴蝶机:39 肩 哑铃 阅读全文
posted @ 2024-05-15 17:25 scrutiny-span 阅读(29) 评论(0) 推荐(0) 编辑
基于Java的redis客户端的基本使用
摘要:1.简介 Java中redis客户端有jedis、lettuce、Redission等 2.jedis的基本使用 引入依赖 <dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>4. 阅读全文
posted @ 2024-05-13 12:28 scrutiny-span 阅读(184) 评论(0) 推荐(0) 编辑
Linux之进程
摘要:目录进程基础1.进程概述2.进程的创建以及进程id的获取3.父子进程4.exec族函数5.进程控制守护进程1.进程组2.会话3.守护进程进程CPU使用率过高问题的排查进程通信 进程基础 1.进程概述 进程在运行过程中,程序内部所有的指令都是通过CPU处理完成的,CPU只进行数据运算并不具备数据存储的 阅读全文
posted @ 2024-05-12 19:03 scrutiny-span 阅读(12) 评论(0) 推荐(0) 编辑
零拷贝
摘要:目录简介实现零拷贝的方式1.sendfile2.splice3.mmap+write 简介 零拷贝技术主要是为了提高读写性能。 实现零拷贝的方式 1.sendfile Linux提供了一个系统调用sendfile,用于在内核中完成从一个文件描述符到另一个文件描述符数据的拷贝。其函数原型如下所示: # 阅读全文
posted @ 2024-05-11 23:56 scrutiny-span 阅读(15) 评论(0) 推荐(0) 编辑
FD_CLOEXEC、SOCK_CLOEXEC、O_CLOEXEC标志
摘要:目录FD_CLOEXEC标记FD_CLOEXEC标记的设置 FD_CLOEXEC标记 FD_CLOEXEC:这是个文件描述符标记,其值为1。 #define FD_CLOEXEC 1 这个标记的含义是:如果对文件描述符设置了FD_CLOEXEC标记,则在使用fork创建子进程后,父进程中打开的文件描 阅读全文
posted @ 2024-05-11 11:20 scrutiny-span 阅读(181) 评论(0) 推荐(1) 编辑
多线程编程总结
摘要:目录Linux系统多线程编程基础Windows多线程编程基础C++多线程编程基础实例1.子线程打开一个文件,将系统当前时间写入。主线程读取文件中的时间并显示在屏幕上2.实现多生产者多消费者模型 Linux系统多线程编程基础 Linux系统下多线程编程可以采用glibc库中的POSIX库,glibc是 阅读全文
posted @ 2024-05-10 22:57 scrutiny-span 阅读(10) 评论(0) 推荐(0) 编辑
Linux多线程基础
摘要:目录线程基础1.线程概述2.线程的创建3.线程的退出4.线程的回收5.线程分离6.其他线程函数线程同步1.线程同步的概念2.互斥锁3.读写锁4.条件变量5.信号量(信号灯)线程局部存储死锁 在Linux下使用多线程编程,主要是使用glibc库中的接口 线程基础 1.线程概述 线程是轻量级的进程(称作 阅读全文
posted @ 2024-05-10 02:19 scrutiny-span 阅读(63) 评论(0) 推荐(0) 编辑
Libevent源码剖析
摘要:目录Libevent简介编译与安装Libevent中的事件事件处理框架event_base及事件循环支持IO多路复用机制 版本:release-1.4.13-stable,环境:centos64位 Libevent简介 同libev,libuv一样,三者都是异步事件库。作为库的使用者只需要注册事件的 阅读全文
posted @ 2024-05-09 14:27 scrutiny-span 阅读(26) 评论(0) 推荐(0) 编辑
事件处理框架event_base及事件循环
摘要:目录事件处理框架event_base事件处理主循环 事件处理框架event_base 事件处理框架对应于Reactor模式中的Reactor管理器,提供了事件注册、注销等接口。 事件处理框架对应event_base结构体,这也是Libevent的核心。 struct event_base { // 阅读全文
posted @ 2024-05-09 14:25 scrutiny-span 阅读(67) 评论(0) 推荐(0) 编辑
Libevent中的事件
摘要:Libevent中的event结构体对应于Reactor模式中的事件处理器,其中提供了函数接口,供Reactor管理器在事件发生时调用。 目录1.event结构体2.信号事件3.定时器事件4.激活事件的统一处理 1.event结构体 事件的类型:主要分为IO读写、信号、超时事件 #define EV 阅读全文
posted @ 2024-05-09 12:26 scrutiny-span 阅读(38) 评论(0) 推荐(0) 编辑
IO多路复用机制的支持
摘要:event-internal.h中定义了eventop结构体,每一种IO多路复用机制都会实现eventop结构体中的五个方法。 struct eventop { const char* name; void* (*init)(struct event_base*); int (*add)(void* 阅读全文
posted @ 2024-05-09 01:38 scrutiny-span 阅读(9) 评论(0) 推荐(0) 编辑
Reactor、Proactor、Actor
摘要:目录阻塞、非阻塞同步、异步五种网络IO模型Reactor1.简介2.组件3.实现Proactor2.组件Actor 文中的网络线程:执行网络io所在的线程 阻塞、非阻塞 阻塞:典型的一次IO一般分为两个阶段:数据准备以及数据拷贝(数据在内核空间与用户空间之间的往返)。在数据准备阶段,调用IO方法的线 阅读全文
posted @ 2024-05-07 10:22 scrutiny-span 阅读(190) 评论(0) 推荐(0) 编辑
Linux网络编程细节点
摘要:目录将套接字设置为非阻塞的1.使用socket函数创建的套接字,将其设置为非阻塞的2.服务端开发中,将用于通信的套接字设置为非阻塞的实现字节序转换函数1.字节序2.字节序的判断3.字节序转换非阻塞的connect常见的socket选项bind函数listen函数服务端如何保证在关闭连接前将数据包发送 阅读全文
posted @ 2024-05-06 00:07 scrutiny-span 阅读(15) 评论(0) 推荐(0) 编辑
IO多路复用
摘要:目录IO多路复用之selectIO多路复用之pollIO多路复用之epoll模型1.epoll模型相关函数2.epoll的两种工作模式3.两种工作模式的区别4.epoll模型收发数据的正确姿势5.epoll模型一定比select、poll高效吗 IO多路复用是一种网络通信的手段,通过这种方式可以同时 阅读全文
posted @ 2024-05-05 12:07 scrutiny-span 阅读(18) 评论(0) 推荐(0) 编辑
Linux平台下的套接字编程基础
摘要:目录IP和端口网络协议字节序sockaddr/sockaddr_in结构体常用的套接字函数半关闭IO多路复用 IP和端口 IP:全称是Internet Protocol。本质是一个整数,用于表示计算机在网络中的地址。IP协议版本有两个:分别是IPV4和IPV6。IP地址用于定位网络上的主机 IPV4 阅读全文
posted @ 2024-05-05 12:05 scrutiny-span 阅读(35) 评论(0) 推荐(0) 编辑
掩码及其应用
摘要:目录掩码umask信号掩码示例 掩码 掩码:本质就是一串二进制数字,可以通过与目标数字的按位操作,实现屏蔽指定位。 示例:目标数字为10100111,需求是将该数字的第0到第2位清零(右边第一位为0)。 先创建一个掩码:00000111 将掩码取反然后与目标数字进行按位与运算。 11111000 & 阅读全文
posted @ 2024-05-05 11:31 scrutiny-span 阅读(44) 评论(0) 推荐(0) 编辑

 
点击右上角即可分享
微信分享提示