微服务代码分析
文章平均质量分 63
Nginx libevent libev muduo 的使用和代码分析
I_belong_to_jesus
EE博士,主要兴趣:EDA软件,EDA前端仿真和加速,减肥,机器学习基础(凸优化),神经网络(推荐算法、图像处理算法),统计信号处理(传统滤波检测估计算法、稀疏表示算法和压缩感知算法)。
开发平台:软件开发,嵌入式开发。
展开
-
grpc C++ helloworld 实例分析
proto文件:syntax = "proto3";option java_multiple_files = true;option java_package = "io.grpc.examples.helloworld";option java_outer_classname = "HelloWorldProto";option objc_class_prefix = "HLW";package helloworld;// The greeting service definiti原创 2021-04-20 15:03:20 · 1040 阅读 · 1 评论 -
Nginx开发指南2:配置文件实现php和file配置实例
现在我们主要介绍下nginx的静态配置,并在最后搭建基于nginx的php网页访问服务以及文件访问服务。接上文安装指南中,默认的配置文件为/usr/local/nginx/conf/nginx.conf,其部分代码如下:user root;worker_processes 2;#error_log logs/error.log;#error_log logs/error.log notice;#error_log logs/error.log info;#pid原创 2021-01-03 01:21:50 · 311 阅读 · 0 评论 -
Nginx开发指南1:入门和安装
Nginx是一个高性能、高稳定性和高扩展性的轻量级TCP、UDP、HTTP、反向代理和邮件代理服务器,其运行效率高,系统消耗低,使用操作系统提供的异步I/O调用,可以无阻塞地处理上万的并发请求。首先,我们将介绍下Nginx的安装和基本配置。1.安装第三方依赖库:sudo apt-get install libz-devzilib是函数压缩库,这里用来实现gzip压缩解压功能。sudo apt-get install libpcre3-devPCRE(Perl Compatible R原创 2021-01-01 21:08:50 · 444 阅读 · 0 评论 -
libev实现简单的tcp服务器
本文将介绍如何用libev创建一个简单的tcp echo server服务器,实现一个简单的异步(asynchronous)tcp server的功能,该server接收客户端连接,然后读取已连接客户端传来的消息,并将同样的消息返回给客户端。步骤如下:1.创建服务端socket并绑定本地地址;2.监听本地的socket;3.创建事件监视器来接收(accept)链接,并绑定相应的接收链接的回调函数;4.创建事件监视器来接收客户端发送的消息,并绑定相应的回调函数;5.启动时间循环。代原创 2020-12-15 23:03:46 · 1014 阅读 · 1 评论 -
libev中ev_loop结构体中宏定义的理解
libev源代码由于有各种宏定义,十分让人费解,作者这么写确实使得代码很简练,但也给读者的阅读带来了巨大的麻烦,下面将分析下ev_loop这个结构体的定义,加深对作者代码简化的理解,先上代码:struct ev_loop{ev_tstamp ev_rt_now;#define ev_rt_now ((loop)->ev_rt_now)#define VAR(name,decl) decl;#include "ev_vars.h"#undef VAR};ev_loop是表示l原创 2020-12-15 02:18:25 · 850 阅读 · 3 评论 -
libevent解析1:linux下安装libevent并编译调试第一个程序
1.下载,网址:http://libevent.org/ 这里下载的是libevent-2.0.21-stable.tar.gz。2.安装:1)解压,进入目录;2.)./configure –prefix=/X #生成makefile,可以通过./configure prefix=/XXX 来设定静态库存放的文件夹,默认情况下为/usr/lib3) make #编译4)sudo make install #安装3. 验证:ls -al /usr/lib |grep libeve.原创 2020-12-13 17:30:13 · 678 阅读 · 0 评论 -
基于libev的hiredis多线程实现
在博文https://blog.csdn.net/fangfanglovezhou/article/details/104984849 中,我们介绍了基于libev的异步接口的调用方法,再次给出代码:#include <stdio.h>#include <stdlib.h>#include <string.h>#include <signal...原创 2020-04-08 01:06:33 · 1237 阅读 · 0 评论 -
linux下boost安装并编译第一个多线程程序
1. 首先,在boost官网:https://www.boost.org/ 下载对应版本boost。2.这里下载了最新版本boost_1_66_0.zip,解压后进入文件下boost_1_66_0。3.直接执行命令./bootstrap.sh#完成编译前配置工作。./b2 install#完成真正的编译并安装boost。默认头文件在/usr/local/include默认库...原创 2020-04-06 01:36:41 · 518 阅读 · 0 评论 -
libev的ev_periodic介绍
Periodic监视器也是libev中定时器的一种,其功能很多,但实现较为复杂。与ev_timer不同,periodic监视器不是基于实时(或相对时间,即过去的物理时间),而是基于钟表时间(绝对时间,及系统钟表过去的事件)。不同的是,钟表时间可能比实时时间跑得快或慢,时间跳跃并不罕见(例如,当你调整钟表时间),通常更适合长时间的计时。可以让periodic监视器在某个特定时间点后触发:例如,如...原创 2020-04-01 01:45:23 · 861 阅读 · 0 评论 -
linux环境下libev网络库的安装和使用
首先介绍linux环境下,如何编译安装libev,并编译成功官方示例程序,这里使用的是ubunu系统。1.下载libev开发包,libev的官方网站是 http://dist.schmorp.de/libev/(需要墙出去),可以去我的微云https://www.weiyun.com/disk/sharedir/cea9b72391537bb7f2d195d8b9075ed2 下载对应版本。...原创 2020-03-17 17:32:22 · 3258 阅读 · 0 评论